Re: [PATCH 01/10] mm: Remove PageActive

Matthew Wilcox
2024-08-22T18:34:09Z

On Thu, Aug 22, 2024 at 11:24:24AM -0700, Andrew Morton wrote:
> On Thu, 22 Aug 2024 21:22:43 +0800 kernel test robot <lkp@intel.com> wrote:
>
> > arch/powerpc/mm/pgtable-frag.c: In function 'pte_free_defer':
> > >> arch/powerpc/mm/pgtable-frag.c:142:9: error: implicit declaration of function 'SetPageActive' [-Wimplicit-function-declaration]
> > 142 | SetPageActive(page);
> > | ^~~~~~~~~~~~~
>
> this, I assume?

It's a good quick fix. I don't think this use of PG_active is
documented anywhere, so I'll send a patch to fix that too.

> --- a/arch/powerpc/mm/pgtable-frag.c~mm-remove-pageactive-fix
> +++ a/arch/powerpc/mm/pgtable-frag.c
> @@ -136,10 +136,10 @@ void pte_fragment_free(unsigned long *ta
> #ifdef CONFIG_TRANSPARENT_HUGEPAGE
> void pte_free_defer(struct mm_struct *mm, pgtable_t pgtable)
> {
> - struct page *page;
> + struct folio *folio;
>
> - page = virt_to_page(pgtable);
> - SetPageActive(page);
> + folio = virt_to_folio(pgtable);
> + folio_set_active(folio);
> pte_fragment_free((unsigned long *)pgtable, 0);
> }
> #endif /* CONFIG_TRANSPARENT_HUGEPAGE */
> _
>