Re: [PATCH] mm: Add more comments for MADV_FREE

From: Huang\, Ying
Date: Wed Mar 11 2020 - 01:23:01 EST


David Rientjes <rientjes@xxxxxxxxxx> writes:

> On Wed, 11 Mar 2020, Huang, Ying wrote:
>
>> diff --git a/include/linux/mm_inline.h b/include/linux/mm_inline.h
>> index 6f2fef7b0784..01144dd02a5f 100644
>> --- a/include/linux/mm_inline.h
>> +++ b/include/linux/mm_inline.h
>> @@ -9,10 +9,11 @@
>> * page_is_file_cache - should the page be on a file LRU or anon LRU?
>> * @page: the page to test
>> *
>> - * Returns 1 if @page is page cache page backed by a regular filesystem,
>> - * or 0 if @page is anonymous, tmpfs or otherwise ram or swap backed.
>> - * Used by functions that manipulate the LRU lists, to sort a page
>> - * onto the right LRU list.
>> + * Returns 1 if @page is page cache page backed by a regular filesystem or
>> + * anonymous page lazily freed (e.g. via MADV_FREE). Returns 0 if @page is
>> + * normal anonymous page, tmpfs or otherwise ram or swap backed. Used by
>> + * functions that manipulate the LRU lists, to sort a page onto the right LRU
>> + * list.
>
> The function name is misleading: anonymous pages that can be lazily freed
> are not file cache. This returns 1 because of the question it is asking:
> anonymous lazily freeable pages should be on the file lru, not the anon
> lru. So before adjusting the comment I'd suggest renaming the function to
> something like page_is_file_lru().

Yes. I think page_is_file_lru() is a better name too. And whether
tmpfs pages are file cache pages is confusing too. But I think we can
do that after this patch if others think this is a good idea too.

Best Regards,
Huang, Ying