mbox series

[v2,00/23] Use asm-generic for mmu_context no-op functions

Message ID 20200826145249.745432-1-npiggin@gmail.com (mailing list archive)
Headers show
Series Use asm-generic for mmu_context no-op functions | expand

Message

Nicholas Piggin Aug. 26, 2020, 2:52 p.m. UTC
It would be nice to be able to modify mmu_context functions or add a
hook without updating all architectures, many of which will be no-ops.

The motivation for this series is a change to lazy mmu handling, but
this series stands on its own as a good cleanup whether or not we end
up making that change.

Arnd, is this something you could take through your asm-generic tree?
(assuming arch maintainers are okay with it)

Thanks,
Nick

Since v1:
- Added acks and feedback from various people.
- Fixed a nommu build error caught by ktp.
- Dropped unicore32.

Nicholas Piggin (23):
  asm-generic: add generic MMU versions of mmu context functions
  alpha: use asm-generic/mmu_context.h for no-op implementations
  arc: use asm-generic/mmu_context.h for no-op implementations
  arm: use asm-generic/mmu_context.h for no-op implementations
  arm64: use asm-generic/mmu_context.h for no-op implementations
  csky: use asm-generic/mmu_context.h for no-op implementations
  hexagon: use asm-generic/mmu_context.h for no-op implementations
  ia64: use asm-generic/mmu_context.h for no-op implementations
  m68k: use asm-generic/mmu_context.h for no-op implementations
  microblaze: use asm-generic/mmu_context.h for no-op implementations
  mips: use asm-generic/mmu_context.h for no-op implementations
  nds32: use asm-generic/mmu_context.h for no-op implementations
  nios2: use asm-generic/mmu_context.h for no-op implementations
  openrisc: use asm-generic/mmu_context.h for no-op implementations
  parisc: use asm-generic/mmu_context.h for no-op implementations
  powerpc: use asm-generic/mmu_context.h for no-op implementations
  riscv: use asm-generic/mmu_context.h for no-op implementations
  s390: use asm-generic/mmu_context.h for no-op implementations
  sh: use asm-generic/mmu_context.h for no-op implementations
  sparc: use asm-generic/mmu_context.h for no-op implementations
  um: use asm-generic/mmu_context.h for no-op implementations
  x86: use asm-generic/mmu_context.h for no-op implementations
  xtensa: use asm-generic/mmu_context.h for no-op implementations

 arch/alpha/include/asm/mmu_context.h         | 12 ++---
 arch/arc/include/asm/mmu_context.h           | 17 +++---
 arch/arm/include/asm/mmu_context.h           | 26 ++-------
 arch/arm64/include/asm/mmu_context.h         |  9 ++--
 arch/csky/include/asm/mmu_context.h          |  8 ++-
 arch/hexagon/include/asm/mmu_context.h       | 33 ++----------
 arch/ia64/include/asm/mmu_context.h          | 17 ++----
 arch/m68k/include/asm/mmu_context.h          | 47 +++-------------
 arch/microblaze/include/asm/mmu_context.h    |  2 +-
 arch/microblaze/include/asm/mmu_context_mm.h |  8 +--
 arch/microblaze/include/asm/processor.h      |  3 --
 arch/mips/include/asm/mmu_context.h          | 11 ++--
 arch/nds32/include/asm/mmu_context.h         | 10 +---
 arch/nios2/include/asm/mmu_context.h         | 21 ++------
 arch/openrisc/include/asm/mmu_context.h      |  8 ++-
 arch/parisc/include/asm/mmu_context.h        | 12 ++---
 arch/powerpc/include/asm/mmu_context.h       | 22 +++-----
 arch/riscv/include/asm/mmu_context.h         | 22 +-------
 arch/s390/include/asm/mmu_context.h          |  9 ++--
 arch/sh/include/asm/mmu_context.h            |  7 ++-
 arch/sh/include/asm/mmu_context_32.h         |  9 ----
 arch/sparc/include/asm/mmu_context_32.h      | 10 ++--
 arch/sparc/include/asm/mmu_context_64.h      | 10 ++--
 arch/um/include/asm/mmu_context.h            | 12 ++---
 arch/x86/include/asm/mmu_context.h           |  6 +++
 arch/xtensa/include/asm/mmu_context.h        | 11 ++--
 arch/xtensa/include/asm/nommu_context.h      | 26 +--------
 include/asm-generic/mmu_context.h            | 57 +++++++++++++++-----
 include/asm-generic/nommu_context.h          | 19 +++++++
 29 files changed, 166 insertions(+), 298 deletions(-)
 create mode 100644 include/asm-generic/nommu_context.h

Comments

Arnd Bergmann Aug. 26, 2020, 8:12 p.m. UTC | #1
On Wed, Aug 26, 2020 at 4:53 PM Nicholas Piggin <npiggin@gmail.com> wrote:
>
> It would be nice to be able to modify mmu_context functions or add a
> hook without updating all architectures, many of which will be no-ops.
>
> The motivation for this series is a change to lazy mmu handling, but
> this series stands on its own as a good cleanup whether or not we end
> up making that change.
>
> Arnd, is this something you could take through your asm-generic tree?
> (assuming arch maintainers are okay with it)

Yes, I can definitely take this. The patches all look good to me, so
feel free to add "Acked-by: Arnd Bergmann <arnd@arndb.de" if you
like (not really needed if I merge them later though) and send me a
pull request once you feel you have collected enough Ack from others.

     Arnd
Mike Rapoport Aug. 30, 2020, 10:18 a.m. UTC | #2
On Thu, Aug 27, 2020 at 12:52:26AM +1000, Nicholas Piggin wrote:
> It would be nice to be able to modify mmu_context functions or add a
> hook without updating all architectures, many of which will be no-ops.
> 
> The motivation for this series is a change to lazy mmu handling, but
> this series stands on its own as a good cleanup whether or not we end
> up making that change.

I really like this series, I just have some small comments in reply to
patch 1, otherwise feel free to add

Acked-by: Mike Rapoport <rppt@linux.ibm.com>

> Arnd, is this something you could take through your asm-generic tree?
> (assuming arch maintainers are okay with it)
> 
> Thanks,
> Nick
> 
> Since v1:
> - Added acks and feedback from various people.
> - Fixed a nommu build error caught by ktp.
> - Dropped unicore32.
> 
> Nicholas Piggin (23):
>   asm-generic: add generic MMU versions of mmu context functions
>   alpha: use asm-generic/mmu_context.h for no-op implementations
>   arc: use asm-generic/mmu_context.h for no-op implementations
>   arm: use asm-generic/mmu_context.h for no-op implementations
>   arm64: use asm-generic/mmu_context.h for no-op implementations
>   csky: use asm-generic/mmu_context.h for no-op implementations
>   hexagon: use asm-generic/mmu_context.h for no-op implementations
>   ia64: use asm-generic/mmu_context.h for no-op implementations
>   m68k: use asm-generic/mmu_context.h for no-op implementations
>   microblaze: use asm-generic/mmu_context.h for no-op implementations
>   mips: use asm-generic/mmu_context.h for no-op implementations
>   nds32: use asm-generic/mmu_context.h for no-op implementations
>   nios2: use asm-generic/mmu_context.h for no-op implementations
>   openrisc: use asm-generic/mmu_context.h for no-op implementations
>   parisc: use asm-generic/mmu_context.h for no-op implementations
>   powerpc: use asm-generic/mmu_context.h for no-op implementations
>   riscv: use asm-generic/mmu_context.h for no-op implementations
>   s390: use asm-generic/mmu_context.h for no-op implementations
>   sh: use asm-generic/mmu_context.h for no-op implementations
>   sparc: use asm-generic/mmu_context.h for no-op implementations
>   um: use asm-generic/mmu_context.h for no-op implementations
>   x86: use asm-generic/mmu_context.h for no-op implementations
>   xtensa: use asm-generic/mmu_context.h for no-op implementations
> 
>  arch/alpha/include/asm/mmu_context.h         | 12 ++---
>  arch/arc/include/asm/mmu_context.h           | 17 +++---
>  arch/arm/include/asm/mmu_context.h           | 26 ++-------
>  arch/arm64/include/asm/mmu_context.h         |  9 ++--
>  arch/csky/include/asm/mmu_context.h          |  8 ++-
>  arch/hexagon/include/asm/mmu_context.h       | 33 ++----------
>  arch/ia64/include/asm/mmu_context.h          | 17 ++----
>  arch/m68k/include/asm/mmu_context.h          | 47 +++-------------
>  arch/microblaze/include/asm/mmu_context.h    |  2 +-
>  arch/microblaze/include/asm/mmu_context_mm.h |  8 +--
>  arch/microblaze/include/asm/processor.h      |  3 --
>  arch/mips/include/asm/mmu_context.h          | 11 ++--
>  arch/nds32/include/asm/mmu_context.h         | 10 +---
>  arch/nios2/include/asm/mmu_context.h         | 21 ++------
>  arch/openrisc/include/asm/mmu_context.h      |  8 ++-
>  arch/parisc/include/asm/mmu_context.h        | 12 ++---
>  arch/powerpc/include/asm/mmu_context.h       | 22 +++-----
>  arch/riscv/include/asm/mmu_context.h         | 22 +-------
>  arch/s390/include/asm/mmu_context.h          |  9 ++--
>  arch/sh/include/asm/mmu_context.h            |  7 ++-
>  arch/sh/include/asm/mmu_context_32.h         |  9 ----
>  arch/sparc/include/asm/mmu_context_32.h      | 10 ++--
>  arch/sparc/include/asm/mmu_context_64.h      | 10 ++--
>  arch/um/include/asm/mmu_context.h            | 12 ++---
>  arch/x86/include/asm/mmu_context.h           |  6 +++
>  arch/xtensa/include/asm/mmu_context.h        | 11 ++--
>  arch/xtensa/include/asm/nommu_context.h      | 26 +--------
>  include/asm-generic/mmu_context.h            | 57 +++++++++++++++-----
>  include/asm-generic/nommu_context.h          | 19 +++++++
>  29 files changed, 166 insertions(+), 298 deletions(-)
>  create mode 100644 include/asm-generic/nommu_context.h
> 
> -- 
> 2.23.0
> 
>
Nicholas Piggin Sept. 1, 2020, 6:17 a.m. UTC | #3
Excerpts from Mike Rapoport's message of August 30, 2020 8:18 pm:
> On Thu, Aug 27, 2020 at 12:52:26AM +1000, Nicholas Piggin wrote:
>> It would be nice to be able to modify mmu_context functions or add a
>> hook without updating all architectures, many of which will be no-ops.
>> 
>> The motivation for this series is a change to lazy mmu handling, but
>> this series stands on its own as a good cleanup whether or not we end
>> up making that change.
> 
> I really like this series, I just have some small comments in reply to
> patch 1, otherwise feel free to add
> 
> Acked-by: Mike Rapoport <rppt@linux.ibm.com>

I can't see your comments in reply to patch 1.

Thanks,
Nick
Mike Rapoport Sept. 1, 2020, 6:54 a.m. UTC | #4
On Tue, Sep 01, 2020 at 04:17:00PM +1000, Nicholas Piggin wrote:
> Excerpts from Mike Rapoport's message of August 30, 2020 8:18 pm:
> > On Thu, Aug 27, 2020 at 12:52:26AM +1000, Nicholas Piggin wrote:
> >> It would be nice to be able to modify mmu_context functions or add a
> >> hook without updating all architectures, many of which will be no-ops.
> >> 
> >> The motivation for this series is a change to lazy mmu handling, but
> >> this series stands on its own as a good cleanup whether or not we end
> >> up making that change.
> > 
> > I really like this series, I just have some small comments in reply to
> > patch 1, otherwise feel free to add
> > 
> > Acked-by: Mike Rapoport <rppt@linux.ibm.com>
> 
> I can't see your comments in reply to patch 1.

Hmm, apparently I forgot to hit "Send"... 

> Thanks,
> Nick
>