[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230117155312.5464d01c2d639b1ac44f9330@linux-foundation.org>
Date: Tue, 17 Jan 2023 15:53:12 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Minchan Kim <minchan@...nel.org>
Cc: Suren Baghdasaryan <surenb@...gle.com>,
Matthew Wilcox <willy@...radead.org>,
linux-mm <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>,
Michal Hocko <mhocko@...e.com>, SeongJae Park <sj@...nel.org>
Subject: Re: [PATCH 1/3] mm: return the number of pages successfully paged
out
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@...nel.org> 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.
Powered by blists - more mailing lists