Linux/linux 94b3334mm page_alloc.c

mm, page_alloc: fix a division by zero error when boosting watermarks v2

Yury Norov reported that an arm64 KVM instance could not boot since
after v5.0-rc1 and could addressed by reverting the patches

  1c30844d2dfe272d58c ("mm: reclaim small amounts of memory when an external
  73444bc4d8f92e46a20 ("mm, page_alloc: do not wake kswapd with zone lock held")

The problem is that a division by zero error is possible if boosting
occurs very early in boot if the system has very little memory.  This
patch avoids the division by zero error.

Link: http://lkml.kernel.org/r/20190213143012.GT9565@techsingularity.net
Fixes: 1c30844d2dfe ("mm: reclaim small amounts of memory when an external fragmentation event occurs")
Signed-off-by: Mel Gorman <mgorman at techsingularity.net>
Reported-by: Yury Norov <yury.norov at gmail.com>
Tested-by: Yury Norov <yury.norov at gmail.com>
Tested-by: Will Deacon <will.deacon at arm.com>
Acked-by: Vlastimil Babka <vbabka at suse.cz>
Cc: Andrea Arcangeli <aarcange at redhat.com>
Cc: David Rientjes <rientjes at google.com>
Cc: Michal Hocko <mhocko at kernel.org>
Cc: Catalin Marinas <catalin.marinas at arm.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
DeltaFile
+12-0mm/page_alloc.c
+12-01 files

UnifiedSplitRaw