On Fri 20-11-15 15:27:39, David Rientjes wrote: > On Fri, 20 Nov 2015, Michal Hocko wrote: > > > > > + unsigned long reclaimable; > > > > + unsigned long target; > > > > + > > > > + reclaimable = zone_reclaimable_pages(zone) + > > > > + zone_page_state(zone, NR_ISOLATED_FILE) + > > > > + zone_page_state(zone, NR_ISOLATED_ANON); > > > > > > Does NR_ISOLATED_ANON mean anything relevant here in swapless > > > environments? > > > > It should be 0 so I didn't bother to check for swapless configuration. > > > > I'm not sure I understand your point, memory compaction certainly > increments NR_ISOLATED_ANON and that would be considered unreclaimable in > a swapless environment, correct? My bad. I have completely missed that compaction/migration is updating the counter as well. I would expect that the number shouldn't too large to matter but I guess it will be better to simply exclude it. I will fold this to the first patch. Thanks --- diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 54476e71b572..7d885d7fae86 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3197,8 +3197,10 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, unsigned long target; reclaimable = zone_reclaimable_pages(zone) + - zone_page_state(zone, NR_ISOLATED_FILE) + - zone_page_state(zone, NR_ISOLATED_ANON); + zone_page_state(zone, NR_ISOLATED_FILE); + if (get_nr_swap_pages() > 0) + reclaimable += zone_page_state(zone, NR_ISOLATED_ANON); + target = reclaimable; target -= DIV_ROUND_UP(stall_backoff * target, MAX_STALL_BACKOFF); target += free; -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>