On Fri, Feb 19, 2010 at 8:42 PM, Christoph Lameter <c...@linux-foundation.org> wrote: > On Fri, 19 Feb 2010, Mel Gorman wrote: > >> > > The patch below sets a smaller value for RECLAIM_DISTANCE and thus >> > > enables >> > > zone reclaim. >> > >> >> I've no problem with the patch anyway. > > Nor do I. > >> > - We seem to end up racing between zone_watermark_ok, zone_reclaim and >> > buffered_rmqueue. Since everyone is in here the memory one thread >> > reclaims >> > may be stolen by another thread. >> > >> >> You're pretty much on the button here. Only one thread at a time enters >> zone_reclaim. The others back off and try the next zone in the zonelist >> instead. I'm not sure what the original intention was but most likely it >> was to prevent too many parallel reclaimers in the same zone potentially >> dumping out way more data than necessary. > > Yes it was to prevent concurrency slowing down reclaim. At that time the > number of processors per NUMA node was 2 or so. The number of pages that > are reclaimed is limited to avoid tossing too many page cache pages. >
That is interesting, I always thought it was to try and free page cache first. For example with zone->min_unmapped_pages, if zone_pagecache_reclaimable is greater than unmapped pages, we start reclaim the cached pages first. The min_unmapped_pages almost sounds like the higher level watermark - or am I misreading the code. Balbir Singh _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev