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.