On Tue, Sep 21, 2021 at 09:27:56AM +1000, NeilBrown wrote: > On Mon, 20 Sep 2021, Mel Gorman wrote: > > @@ -2291,8 +2302,7 @@ shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, > > return 0; > > > > /* wait a bit for the reclaimer. */ > > - msleep(100); > > - stalled = true; > > + reclaim_throttle(pgdat, VMSCAN_THROTTLE_ISOLATED, HZ/10); > > Why drop the assignment to "stalled"? > Doing that changes the character of the loop - and makes the 'stalled' > variable always 'false'. > This was a thought that was never completed. The intent was that if there are too many pages isolated that it should not return prematurely and do busy work elsewhere. It potentially means an allocation request moves to lower zones or remote nodes prematurely but I never did the full removal. Even if I had, on reflection, that type of behavioural change does not belong in this series. I've restored the "stalled = true". -- Mel Gorman SUSE Labs