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

Yang Shi
2019-04-15T22:06:40Z

On 4/11/19 9:06 AM, Dave Hansen wrote:
> On 4/10/19 8:56 PM, Yang Shi wrote:
>> When demoting to PMEM node, the target node may have memory pressure,
>> then the memory pressure may cause migrate_pages() fail.
>>
>> If the failure is caused by memory pressure (i.e. returning -ENOMEM),
>> tag the node with PGDAT_CONTENDED. The tag would be cleared once the
>> target node is balanced again.
>>
>> Check if the target node is PGDAT_CONTENDED or not, if it is just skip
>> demotion.
> 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. It will just try
to reclaim page cache. This would save some scanning time.

Thanks,
Yang