Re: [v2 PATCH 7/9] mm: vmscan: check if the demote target node is contended or not

From: Yang Shi
Date: Mon Apr 15 2019 - 18:23:41 EST




On 4/15/19 3:13 PM, Dave Hansen wrote:
On 4/15/19 3:06 PM, Yang Shi wrote:
This seems like an actively bad idea to me.

Why do we need an *active* note to say the node is contended? Why isn't
just getting a failure back from migrate_pages() enough? Have you
observed this in practice?
The flag will be used to check if the target node is contended or not
before moving the page into the demotion list. If the target node is
contended (i.e. GFP_NOWAIT would likely fail), the page reclaim code
even won't scan anonymous page list on swapless system.
That seems like the actual problem that needs to get fixed.

On systems where we have demotions available, perhaps we need to start
scanning anonymous pages again, at least for zones where we *can* demote
from them.

But the problem is if we know the demotion would likely fail, why bother scanning anonymous pages again? The flag will be cleared by the target node's kswapd once it gets balanced again. Then the anonymous pages would get scanned next time.