Re: [PATCH 2/2] mm/vmscan: make sure wakeup_kswapd with managed zone

Huang, Ying
2022-03-29T00:43:30Z

Wei Yang <richard.weiyang@gmail.com> writes:

> On Mon, Mar 28, 2022 at 09:08:34AM +0800, Huang, Ying wrote:
>>Hi, Wei,
>>
>>Wei Yang <richard.weiyang@gmail.com> writes:
>>
>>> wakeup_kswapd() only wake up kswapd when the zone is managed.
>>>
>>> For two callers of wakeup_kswapd(), they are node perspective.
>>>
>>> * wake_all_kswapds
>>> * numamigrate_isolate_page
>>>
>>> If we picked up a !managed zone, this is not we expected.
>>>
>>> This patch makes sure we pick up a managed zone for wakeup_kswapd().
>>>
>>> Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
>>> ---
>>> mm/migrate.c | 2 +-
>>> mm/page_alloc.c | 2 ++
>>> 2 files changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/mm/migrate.c b/mm/migrate.c
>>> index 3d60823afd2d..c4b654c0bdf0 100644
>>> --- a/mm/migrate.c
>>> +++ b/mm/migrate.c
>>> @@ -2046,7 +2046,7 @@ static int numamigrate_isolate_page(pg_data_t *pgdat, struct page *page)
>>> if (!(sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING))
>>> return 0;
>>> for (z = pgdat->nr_zones - 1; z >= 0; z--) {
>>> - if (populated_zone(pgdat->node_zones + z))
>>> + if (managed_zone(pgdat->node_zones + z))
>>
>>This looks good to me! Thanks! It seems that we can replace
>>populated_zone() in migrate_balanced_pgdat() too. Right?
>>
>
> Yes, you are right. I didn't spot this.
>
> While this patch comes from the clue of wakeup_kswapd(), I am not sure it is
> nice to put it in this patch together.
>
> Which way you prefer to include this: merge the change into this one, or a
> separate one?

Either is OK for me.

Best Regards,
Huang, Ying