Re: [PATCH 10/13] mm/munlock: mlock_page() munlock_page() batch by pagevec

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 9 Feb 2022, Geert Uytterhoeven wrote:
> 
> Thanks for your patch, which is now commit cbaf47432c909044
> ("mm/munlock: mlock_page() munlock_page() batch by pagevec") in
> next-20220209.
> 
> > --- a/mm/internal.h
> > +++ b/mm/internal.h
> > @@ -402,7 +402,8 @@ extern int mlock_future_check(struct mm_struct *mm, unsigned long flags,
> >   *
> >   * mlock is usually called at the end of page_add_*_rmap(),
> >   * munlock at the end of page_remove_rmap(); but new anon
> > - * pages are managed in lru_cache_add_inactive_or_unevictable().
> > + * pages are managed by lru_cache_add_inactive_or_unevictable()
> > + * calling mlock_new_page().
> >   *
> >   * @compound is used to include pmd mappings of THPs, but filter out
> >   * pte mappings of THPs, which cannot be consistently counted: a pte
> > @@ -425,6 +426,9 @@ static inline void munlock_vma_page(struct page *page,
> >             (compound || !PageTransCompound(page)))
> >                 munlock_page(page);
> >  }
> > +void mlock_new_page(struct page *page);
> > +bool need_mlock_page_drain(int cpu);
> > +void mlock_page_drain(int cpu);
> 
> This is inside an #ifdef CONFIG_MMU section.
> 
> > --- a/mm/swap.c
> > +++ b/mm/swap.c
> 
> > @@ -640,6 +634,7 @@ void lru_add_drain_cpu(int cpu)
> >                 pagevec_lru_move_fn(pvec, lru_lazyfree_fn);
> >
> >         activate_page_drain(cpu);
> > +       mlock_page_drain(cpu);
> 
> noreply@xxxxxxxxxxxxxx reported for m5272c3_defconfig:
> 
>     mm/swap.c:637:2: error: implicit declaration of function
> ‘mlock_page_drain’ [-Werror=implicit-function-declaration]
> 
> http://kisskb.ellerman.id.au/kisskb/buildresult/14694567/

Hi Geert, thanks for your report: SeongJae has posted a fix

https://lore.kernel.org/lkml/20220209094158.21941-2-sj@xxxxxxxxxx/

but there I'm wondering if it's complete: I'll settle it later today.

Hugh

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux