# git rev-parse -q --verify 8008293888188c3923f5bd8a69370dae25ed14e5^{commit} 8008293888188c3923f5bd8a69370dae25ed14e5 already have revision, skipping fetch # git checkout -q -f -B kisskb 8008293888188c3923f5bd8a69370dae25ed14e5 # git clean -qxdf # < git log -1 # commit 8008293888188c3923f5bd8a69370dae25ed14e5 # Author: Mel Gorman # Date: Fri Dec 31 13:10:09 2021 -0800 # # mm: vmscan: reduce throttling due to a failure to make progress -fix # # Hugh Dickins reported the following # # My tmpfs swapping load (tweaked to use huge pages more heavily # than in real life) is far from being a realistic load: but it was # notably slowed down by your throttling mods in 5.16-rc, and this # patch makes it well again - thanks. # # But: it very quickly hit NULL pointer until I changed that last # line to # # if (first_pgdat) # consider_reclaim_throttle(first_pgdat, sc); # # The likely issue is that huge pages are a major component of the test # workload. When this is the case, first_pgdat may never get set if # compaction is ready to continue due to this check # # if (IS_ENABLED(CONFIG_COMPACTION) && # sc->order > PAGE_ALLOC_COSTLY_ORDER && # compaction_ready(zone, sc)) { # sc->compaction_ready = true; # continue; # } # # If this was true for every zone in the zonelist, first_pgdat would never # get set resulting in a NULL pointer exception. # # Link: https://lkml.kernel.org/r/20211209095453.GM3366@techsingularity.net # Fixes: 1b4e3f26f9f75 ("mm: vmscan: Reduce throttling due to a failure to make progress") # Signed-off-by: Mel Gorman # Reported-by: Hugh Dickins # Cc: Michal Hocko # Cc: Vlastimil Babka # Cc: Rik van Riel # Cc: Mike Galbraith # Cc: Darrick J. Wong # Cc: Shakeel Butt # Signed-off-by: Andrew Morton # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 8008293888188c3923f5bd8a69370dae25ed14e5 # < make -s -j 24 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- allmodconfig # Added to kconfig CONFIG_64BIT=n # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_HAVE_FTRACE_MCOUNT_RECORD=n # Added to kconfig CONFIG_SAMPLES=n # Added to kconfig CONFIG_MODULE_SIG=n # < make -s -j 24 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 24 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 24 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- :1517:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/crypto/blake2b_generic.c: In function 'blake2b_compress_one_generic': /kisskb/src/crypto/blake2b_generic.c:109:1: error: the frame size of 2288 bytes is larger than 2048 bytes [-Werror=frame-larger-than=] 109 | } | ^ cc1: all warnings being treated as errors make[2]: *** [/kisskb/src/scripts/Makefile.build:287: crypto/blake2b_generic.o] Error 1 make[1]: *** [/kisskb/src/Makefile:1846: crypto] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 24 ARCH=sparc O=/kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/sparc64-linux/bin/sparc64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_sparc-allmodconfig_sparc64-gcc11 # Build took: 0:20:27.457230