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. Best Regards, Huang, Ying >> >>--Mika