Re: [PATCH 01/16] mm/page_alloc: ensure kswapd doesn't accidentally go to sleep

From: Anshuman Khandual
Date: Tue Sep 13 2022 - 07:23:38 EST




On 9/13/22 13:28, Matthew Wilcox wrote:
> On Tue, Sep 13, 2022 at 12:32:50PM +0530, Anshuman Khandual wrote:
>>
>> On 9/9/22 14:54, Miaohe Lin wrote:
>>> If ALLOC_KSWAPD is set, wake_all_kswapds() will be called to ensure
>>> kswapd doesn't accidentally go to sleep. But when reserve_flags is
>>> set, alloc_flags will be overwritten and ALLOC_KSWAPD is thus lost.
>>> Preserve the ALLOC_KSWAPD flag in alloc_flags to ensure kswapd won't
>>> go to sleep accidentally.
>> Currently wake_all_kswapds() gets skipped subsequently if ALLOC_KSWAPD
>> is lost, but this only happens when the 'retry:' loops is taken ?
> Right, but see the comment:
>
> /* Ensure kswapd doesn't accidentally go to sleep as long as we loop */
>
> and that is not currently true. I think that was an inadvertent change.
> Particularly since the changelog for 0a79cdad5eb2 says "No functional
> change".

Got it, thanks for the explanation.