On Mon, Mar 16, 2020 at 09:21:34AM +0800, Huang, Ying wrote: >Wei Yang <richard.weiyang@xxxxxxxxx> writes: > >> On Sun, Mar 15, 2020 at 10:54:03AM +0200, Mika Penttil?? wrote: >>> >>> >>>On 15.3.2020 10.18, Wei Yang wrote: >>>> On Fri, Feb 28, 2020 at 11:38:18AM +0800, Huang, Ying wrote: >>>> > From: Huang Ying <ying.huang@xxxxxxxxx> >>>> > >>>> > Now !PageSwapBacked() is used as the flag for the pages freed lazily >>>> > via MADV_FREE. This isn't obvious enough. So Dave suggested to add a >>>> > new page flag for that to improve the code readability. >>>> I am confused with the usage of PageSwapBacked(). >>>> >>>> Previously I thought this flag means the page is swapin, set in >>>> swapin_readahead(). While I found page_add_new_anon_rmap() would set it too. >>>> This means every anon page would carry this flag. Then what is this flag >>>> means? >>>> >>>> >>> >>>But not all PageSwapBacked() pages are anon, like shmem. >>> >> >> Yes, while it looks shmem is the only exception. > >Another exception is the pages freed lazily via MADV_FREE. > >> I am still struggling to understand the meaning of this flag. > >You can use `git blame` to find out the commit which introduces this >flag. Which describes why this flag is introduced. Thanks, I see the purpose is to distinguish a page: a) file backed b) or otheres This sound more clear. And now this flag is also used for MADV_FREE, which sounds a little abuse. This is the purpose of this patch to make a dedicate flag for MADV_FREE. BTW, the name, swapbacked, is a little misleading. Maybe just to me. But I can't come up with better naming. :-) > >Best Regards, >Huang, Ying > >>> >>>--Mika -- Wei Yang Help you, Help me