diff --git a/mm/page_alloc.c b/mm/page_alloc.c index f3d5f0eb615915b047a622190e8b5b33d50fcf15..5b8d0966d4291fd4e364da0c179a119cacb65ea3 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -7704,8 +7704,10 @@ static void setup_per_zone_lowmem_reserve(void) idx--; lower_zone = pgdat->node_zones + idx; - if (!sysctl_lowmem_reserve_ratio[idx]) { + if (!sysctl_lowmem_reserve_ratio[idx] || + !zone_managed_pages(lower_zone)) { lower_zone->lowmem_reserve[j] = 0; + continue; } else { lower_zone->lowmem_reserve[j] = managed_pages / sysctl_lowmem_reserve_ratio[idx];