Re: [PATCH v9 7/8] mm: add folio_put_mgen() to deliver migrc's generation number to pcp or buddy

From: Byungchul Park
Date: Wed Apr 17 2024 - 20:20:28 EST


On Wed, Apr 17, 2024 at 04:55:55PM +0100, Matthew Wilcox wrote:
> On Wed, Apr 17, 2024 at 04:18:46PM +0900, Byungchul Park wrote:
> > Introduced a new API, folio_put_mgen(), to deliver migrc's generation
> > number to pcp or buddy that will be used by migrc mechanism to track
> > need of tlb flush for each page residing in pcp or buddy.
> >
> > migrc makes decision whether tlb flush is needed or not, based on a
> > generation number stored in the interesting page and the global
> > generation number, for that tlb flush required has been completed.
> >
> > For now, the delivery works only for the following call path but not for
> > e.g. free_the_page(), __free_pages_ok() and free_unref_page_list() that
> > are not for releasing source folios during migration:
> >
> > folio_put_mgen()
> > __folio_put_mgen()
> > __folio_put_small()
> > free_unref_page()
> > free_unref_page_commit()
> > free_one_page()
> > __free_one_page()
>
> You're going to want to rebase this on mm-unstable. __folio_put_small()
> went away in "mm: combine __folio_put_small, __folio_put_large and
> __folio_put"

I checked it. Indeed. Thanks for the information.

Byungchul