On Thu 09-02-17 10:06:18, Gavin Shan wrote: > On Wed, Feb 08, 2017 at 11:08:50AM +0100, Michal Hocko wrote: > >On Wed 08-02-17 16:40:55, Gavin Shan wrote: > >> When @node_reclaim_node isn't 0, the page allocator tries to reclaim > >> pages if the amount of free memory in the zones are below the low > >> watermark. On Power platform, none of NUMA nodes are scanned for page > >> reclaim because no nodes match the condition in zone_allows_reclaim(). > >> On Power platform, RECLAIM_DISTANCE is set to 10 which is the distance > >> of Node-A to Node-A. So the preferred node even won't be scanned for > >> page reclaim. > > > >This is quite confusing. I can see 56608209d34b ("powerpc/numa: Set a > >smaller value for RECLAIM_DISTANCE to enable zone reclaim") which > >enforced the zone_reclaim by reducing the RECLAIM_DISTANCE, now you are > >building on top of that. Having RECLAIM_DISTANCE == LOCAL_DISTANCE is > >really confusing. What are distances of other nodes (in other words what > >does numactl --hardware tells)? I am wondering whether we shouldn't > >rather revert 56608209d34b as the node_reclaim (these days) is not > >enabled by default anymore. > > > > Michael, Yeah, it's a bit confusing. Let me try to summarize the history: > the code 56608209d34b (2.6.35) depends, which is shown in its commit log, > was removed by 957f822a0ab9 (3.10). Since then, the code change introduced > by 56608209d34b (2.6.35) becomes obsoleted. However, the local pagecache > (with @node_reclaim_mode turned on manually) was able to be shrinked at > that point (3.10) until 5f7a75acdb24 (3.16) was merged. This patch fixes > the issue introduced by 5f7a75acdb24 and needs go to 3.16+. Hope this > makes things more clear, not more confusing :-) yeah, it is clear as mud ;) > Yes, I already planned to set PowerPC specific RECLAIM_DISTANCE to 30, same > value to the generic one, as I said in the last reply of the thread: > https://patchwork.ozlabs.org/patch/718830/ just drop the ppc specific definition and use the generic one instead. > >> Fixes: 5f7a75acdb24 ("mm: page_alloc: do not cache reclaim distances") > >> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ > >> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> > > > >anyway the patch looks OK as it brings the previous behavior back. Not > >that I would be entirely happy about that behavior as it is quite nasty > >- e.g. it will trigger direct reclaim from the allocator fast path way > >too much and basically skip the kswapd wake up most of the time if there > >is anything reclaimable... But this used to be there before as well. > > > >Acked-by: Michal Hocko <mhocko@xxxxxxxx> > > > >but I would really like to get rid of the ppc specific RECLAIM_DISTANCE > >if possible as well. > > > > Yes, I will post one patch for this and you will be copied. Thanks! -- 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>