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

From: Mike Rapoport
Date: Mon Jul 13 2020 - 13:19:25 EST


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.

Why lookup_page_ext() is required for DAMON? It is not used anywhere in
this patchset.


> Thanks,
> SeongJae Park
>
> >
> > > Signed-off-by: SeongJae Park <sjpark@xxxxxxxxx>
> > > Reviewed-by: Leonard Foerster <foersleo@xxxxxxxxx>
> > > Reviewed-by: Varad Gautam <vrd@xxxxxxxxx>
> > > ---
> > > mm/page_ext.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/mm/page_ext.c b/mm/page_ext.c
> > > index a3616f7a0e9e..9d802d01fcb5 100644
> > > --- a/mm/page_ext.c
> > > +++ b/mm/page_ext.c
> > > @@ -131,6 +131,7 @@ struct page_ext *lookup_page_ext(const struct page *page)
> > > MAX_ORDER_NR_PAGES);
> > > return get_entry(base, index);
> > > }
> > > +EXPORT_SYMBOL_GPL(lookup_page_ext);
> > >
> > > static int __init alloc_node_page_ext(int nid)
> > > {
> > > --
> > > 2.17.1
> > >
> >
> > --
> > Sincerely yours,
> > Mike.

--
Sincerely yours,
Mike.