Re: Re: Re: Re: [PATCH v18 01/14] mm/page_ext: Export lookup_page_ext() to GPL modules

From: SeongJae Park
Date: Fri Jul 17 2020 - 05:59:59 EST


On Mon, 13 Jul 2020 19:38:05 +0200 SeongJae Park <sjpark@xxxxxxxxxx> wrote:

> On Mon, 13 Jul 2020 20:19:09 +0300 Mike Rapoport <rppt@xxxxxxxxxx> wrote:
>
> > On Mon, Jul 13, 2020 at 02:21:43PM +0200, SeongJae Park wrote:
> > > On Mon, 13 Jul 2020 15:08:42 +0300 Mike Rapoport <rppt@xxxxxxxxxx> wrote:
> > >
> > > > Hi,
> > > >
> > > > On Mon, Jul 13, 2020 at 10:41:31AM +0200, SeongJae Park wrote:
> > > > > From: SeongJae Park <sjpark@xxxxxxxxx>
> > > > >
> > > > > This commit exports 'lookup_page_ext()' to GPL modules. It will be used
> > > > > by DAMON in following commit for the implementation of the region based
> > > > > sampling.
> > > >
> > > > Maybe I'm missing something, but why is DAMON a module?
> > >
> > > I made it loadable just for easier adoption from downstream kernels. I could
> > > drop the module build support if asked.
> >
> > Well, exporting core mm symbols to modules should be considred very
> > carefully.
>
> Agreed. I will drop the module support from the next spin.
>
> >
> > Why lookup_page_ext() is required for DAMON? It is not used anywhere in
> > this patchset.
>
> It's indirectly used. In the 6th patch, DAMON uses 'set_page_young()' to not
> interfere with other PTE Accessed bit users. And, 'set_page_young()' uses
> 'lookup_page_ext()' if !CONFIG_64BIT. That's why I exported it.

This also means that it would make no sense if !64BIT && !PAGE_EXTENSION. In
the next spin, I will update the DAMON Kconfig to select PAGE_EXTENSION if
!64BIT, as same to that of IDLE_PAGE_TRACKING.


Thanks,
SeongJae Park