On Tue, Jul 05, 2016 at 02:57:38PM +0800, Hillf Danton wrote: > > > > The ac_classzone_idx is used as the basis for waking kswapd and that is > > based > > on the preferred zoneref. If the preferred zoneref's highest zone is lower > > than what is available on other nodes, it's possible that kswapd is woken > > on a zone with only higher, but still eligible, zones. As classzone_idx > > is strictly adhered to now, it causes a problem because eligible pages > > are skipped. > > > > For example, node 0 has only DMA32 and node 1 has only NORMAL. An allocating > > context running on node 0 may wake kswapd on node 1 telling it to skip > > all NORMAL pages. > > > > Signed-off-by: Mel Gorman <mgor...@techsingularity.net> > > --- > Acked-by: Hillf Danton <hillf...@alibaba-inc.com> >
Thanks. I also noticed when applying the ack that "zoneref's highest zone" should have been "zoneref's first zone" so fixed that too. -- Mel Gorman SUSE Labs