Re: mm: delay rmap removal until after TLB flush

From: Gerald Schaefer
Date: Wed Nov 02 2022 - 18:30:44 EST


On Wed, 2 Nov 2022 10:55:10 -0700
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Wed, Nov 2, 2022 at 2:15 AM Christian Borntraeger
> <borntraeger@xxxxxxxxxxxxx> wrote:
> >
> > It certainly needs a build fix for s390:
> >
> > In file included from kernel/sched/core.c:78:
> > ./arch/s390/include/asm/tlb.h: In function '__tlb_remove_page_size':
> > ./arch/s390/include/asm/tlb.h:50:17: error: implicit declaration of function 'page_zap_pte_rmap' [-Werror=implicit-function-declaration]
> > 50 | page_zap_pte_rmap(page);
> > | ^~~~~~~~~~~~~~~~~
>
> Hmm. I'm not sure if I can add a
>
> #include <linux/rmap.h>
>
> to that s390 asm header file without causing more issues.
>
> The minimal damage would probably be to duplicate the declaration of
> page_zap_pte_rmap() in the s390 asm/tlb.h header where it is used.
>
> Not pretty to have two different declarations of that thing, but
> anything that then includes both <asm/tlb.h> and <linux/rmap.h> (which
> is much of mm) would then verify the consistency of them.
>
> So I'll do that minimal fix and update that branch, but if s390 people
> end up having a better fix, please holler.

It compiles now with your duplicate declaration, but adding the #include
also did not cause any damage, so that should also be OK.