Re: [PATCH v2 1/9] mm/vmscan: add a comment about MADV_FREE pages check in folio_check_dirty_writeback

From: ying.huang@xxxxxxxxx
Date: Mon Apr 11 2022 - 07:51:50 EST


On Sat, 2022-04-09 at 17:34 +0800, Miaohe Lin wrote:
> The MADV_FREE pages check in folio_check_dirty_writeback is a bit hard to
> follow. Add a comment to make the code clear.
>
> Suggested-by: Huang, Ying <ying.huang@xxxxxxxxx>
> Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>
> ---
>  mm/vmscan.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index c77d5052f230..4a76be47bed1 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -1436,6 +1436,9 @@ static void folio_check_dirty_writeback(struct folio
> *folio,
>         /*
>          * Anonymous pages are not handled by flushers and must be written
>          * from reclaim context. Do not stall reclaim based on them
> +        * MADV_FREE anonymous pages are put into inactive file list too.
> +        * They could be mistakenly treated as file lru. So further anon
> +        * test is needed.
>          */

How about something as follows,

/*
* Anonymous pages (including MADV_FREE ones) are not handled
by * flushers and must be written from reclaim context. Do not stall
* reclaim based on them
*/.

Best Regards,
Huang, Ying

>         if (!folio_is_file_lru(folio) ||
>             (folio_test_anon(folio) && !folio_test_swapbacked(folio))) {