Re: [PATCH 1/3] mm: return the number of pages successfully paged out

From: Andrew Morton
Date: Tue Jan 17 2023 - 19:30:34 EST



I'm all hung up on the naming of everything.

> mm: return the number of pages successfully paged out

This is a vague title - MM is a big place. Perhaps "mm/vmscan: ..."

On Tue, 17 Jan 2023 15:16:30 -0800 Minchan Kim <minchan@xxxxxxxxxx> wrote:

> The reclaim_pages MADV_PAGEOUT uses needs to return the number of
> pages paged-out successfully, not only the number of reclaimed pages
> in the operation because those pages paged-out successfully will be
> reclaimed easily at the memory pressure due to asynchronous writeback
> rotation(i.e., PG_reclaim with folio_rotate_reclaimable).

So... what does "paged out" actually mean? "writeback to backing
store was initiated"? From an application's point of view it means "no
longer in page tables needs a fault to get it back", no?

> This patch renames the reclaim_pages with paging_out(with hope that

"page_out" or "pageout" would be better than "paging_out".

> it's clear from operation point of view) and then adds a additional
> stat in reclaim_stat to represent the number of paged-out but kept
> in the memory for rotation on writeback completion.

So it's the number of pages against which we have initiated writeback.
Why not call it "nr_writeback" or similar?

> With that stat, madvise_pageout can know how many pages were paged-out
> successfully as well as reclaimed. The return value will be used for
> statistics in next patch.
>
> ...
>
> -unsigned long reclaim_pages(struct list_head *folio_list)
> +/*
> + * paging_out - reclaim clean pages and write dirty pages into storage
> + * @folio_list: pages for paging out
> + *
> + * paging_out() writes dirty pages to backing storage and/or reclaim
> + * clean pages from memory. Returns the number of written/reclaimed pages.

s/reclaim/reclaims/

"and/or" it vague - just "or", I think.

"written/reclaimed" is vague. "number of reclaimed pages plus the
number of pages against which writeback was initiated" is precise.