* [PATCH rfc -next 00/10] mm: convert to generic VMA lock-based page fault
@ 2023-07-13 9:51 Kefeng Wang
2023-07-13 11:46 ` Kefeng Wang
0 siblings, 1 reply; 3+ messages in thread
From: Kefeng Wang @ 2023-07-13 9:51 UTC (permalink / raw)
To: linux-mm, Andrew Morton, surenb
Cc: Russell King, Catalin Marinas, Will Deacon, Huacai Chen,
WANG Xuerui, Michael Ellerman, Nicholas Piggin, Christophe Leroy,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexander Gordeev,
Gerald Schaefer, Heiko Carstens, Vasily Gorbik,
Christian Borntraeger, Sven Schnelle, Dave Hansen,
Andy Lutomirski, Peter Zijlstra, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, x86, linux-arm-kernel, linux-kernel, loongarch,
linuxppc-dev, linux-riscv, linux-s390, Kefeng Wang
Add a generic VMA lock-based page fault handler in mm core, and convert
architectures to use it, which eliminate architectures's duplicated codes.
With it, we can avoid multiple changes in architectures's code if we
add new feature or bugfix.
This fixes riscv missing change about commit 38b3aec8e8d2 "mm: drop per-VMA
lock when returning VM_FAULT_RETRY or VM_FAULT_COMPLETED", and in the end,
we enable this feature on ARM32/Loongarch too.
This is based on next-20230713, only built test(no loongarch compiler,
so except loongarch).
Kefeng Wang (10):
mm: add a generic VMA lock-based page fault handler
x86: mm: use try_vma_locked_page_fault()
arm64: mm: use try_vma_locked_page_fault()
s390: mm: use try_vma_locked_page_fault()
powerpc: mm: use try_vma_locked_page_fault()
riscv: mm: use try_vma_locked_page_fault()
ARM: mm: try VMA lock-based page fault handling first
loongarch: mm: cleanup __do_page_fault()
loongarch: mm: add access_error() helper
loongarch: mm: try VMA lock-based page fault handling first
arch/arm/Kconfig | 1 +
arch/arm/mm/fault.c | 15 ++++++-
arch/arm64/mm/fault.c | 28 +++---------
arch/loongarch/Kconfig | 1 +
arch/loongarch/mm/fault.c | 92 ++++++++++++++++++++++++---------------
arch/powerpc/mm/fault.c | 54 ++++++++++-------------
arch/riscv/mm/fault.c | 38 +++++++---------
arch/s390/mm/fault.c | 23 +++-------
arch/x86/mm/fault.c | 39 +++++++----------
include/linux/mm.h | 28 ++++++++++++
mm/memory.c | 42 ++++++++++++++++++
11 files changed, 206 insertions(+), 155 deletions(-)
--
2.27.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH rfc -next 00/10] mm: convert to generic VMA lock-based page fault
2023-07-13 9:51 [PATCH rfc -next 00/10] mm: convert to generic VMA lock-based page fault Kefeng Wang
@ 2023-07-13 11:46 ` Kefeng Wang
0 siblings, 0 replies; 3+ messages in thread
From: Kefeng Wang @ 2023-07-13 11:46 UTC (permalink / raw)
To: linux-mm, Andrew Morton, surenb
Cc: Russell King, Catalin Marinas, Will Deacon, Huacai Chen,
WANG Xuerui, Michael Ellerman, Nicholas Piggin, Christophe Leroy,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexander Gordeev,
Gerald Schaefer, Heiko Carstens, Vasily Gorbik,
Christian Borntraeger, Sven Schnelle, Dave Hansen,
Andy Lutomirski, Peter Zijlstra, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, x86, linux-arm-kernel, linux-kernel, loongarch,
linuxppc-dev, linux-riscv, linux-s390
Please ignore this one...
On 2023/7/13 17:51, Kefeng Wang wrote:
> Add a generic VMA lock-based page fault handler in mm core, and convert
> architectures to use it, which eliminate architectures's duplicated codes.
>
> With it, we can avoid multiple changes in architectures's code if we
> add new feature or bugfix.
>
> This fixes riscv missing change about commit 38b3aec8e8d2 "mm: drop per-VMA
> lock when returning VM_FAULT_RETRY or VM_FAULT_COMPLETED", and in the end,
> we enable this feature on ARM32/Loongarch too.
>
> This is based on next-20230713, only built test(no loongarch compiler,
> so except loongarch).
>
> Kefeng Wang (10):
> mm: add a generic VMA lock-based page fault handler
> x86: mm: use try_vma_locked_page_fault()
> arm64: mm: use try_vma_locked_page_fault()
> s390: mm: use try_vma_locked_page_fault()
> powerpc: mm: use try_vma_locked_page_fault()
> riscv: mm: use try_vma_locked_page_fault()
> ARM: mm: try VMA lock-based page fault handling first
> loongarch: mm: cleanup __do_page_fault()
> loongarch: mm: add access_error() helper
> loongarch: mm: try VMA lock-based page fault handling first
>
> arch/arm/Kconfig | 1 +
> arch/arm/mm/fault.c | 15 ++++++-
> arch/arm64/mm/fault.c | 28 +++---------
> arch/loongarch/Kconfig | 1 +
> arch/loongarch/mm/fault.c | 92 ++++++++++++++++++++++++---------------
> arch/powerpc/mm/fault.c | 54 ++++++++++-------------
> arch/riscv/mm/fault.c | 38 +++++++---------
> arch/s390/mm/fault.c | 23 +++-------
> arch/x86/mm/fault.c | 39 +++++++----------
> include/linux/mm.h | 28 ++++++++++++
> mm/memory.c | 42 ++++++++++++++++++
> 11 files changed, 206 insertions(+), 155 deletions(-)
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH rfc -next 00/10] mm: convert to generic VMA lock-based page fault
@ 2023-07-13 9:53 Kefeng Wang
0 siblings, 0 replies; 3+ messages in thread
From: Kefeng Wang @ 2023-07-13 9:53 UTC (permalink / raw)
To: linux-mm, Andrew Morton, surenb
Cc: Russell King, Catalin Marinas, Will Deacon, Huacai Chen,
WANG Xuerui, Michael Ellerman, Nicholas Piggin, Christophe Leroy,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexander Gordeev,
Gerald Schaefer, Heiko Carstens, Vasily Gorbik,
Christian Borntraeger, Sven Schnelle, Dave Hansen,
Andy Lutomirski, Peter Zijlstra, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, x86, linux-arm-kernel, linux-kernel, loongarch,
linuxppc-dev, linux-riscv, linux-s390, Kefeng Wang
Add a generic VMA lock-based page fault handler in mm core, and convert
architectures to use it, which eliminate architectures's duplicated codes.
With it, we can avoid multiple changes in architectures's code if we
add new feature or bugfix.
This fixes riscv missing change about commit 38b3aec8e8d2 "mm: drop per-VMA
lock when returning VM_FAULT_RETRY or VM_FAULT_COMPLETED", and in the end,
we enable this feature on ARM32/Loongarch too.
This is based on next-20230713, only built test(no loongarch compiler,
so except loongarch).
Kefeng Wang (10):
mm: add a generic VMA lock-based page fault handler
x86: mm: use try_vma_locked_page_fault()
arm64: mm: use try_vma_locked_page_fault()
s390: mm: use try_vma_locked_page_fault()
powerpc: mm: use try_vma_locked_page_fault()
riscv: mm: use try_vma_locked_page_fault()
ARM: mm: try VMA lock-based page fault handling first
loongarch: mm: cleanup __do_page_fault()
loongarch: mm: add access_error() helper
loongarch: mm: try VMA lock-based page fault handling first
arch/arm/Kconfig | 1 +
arch/arm/mm/fault.c | 15 ++++++-
arch/arm64/mm/fault.c | 28 +++---------
arch/loongarch/Kconfig | 1 +
arch/loongarch/mm/fault.c | 92 ++++++++++++++++++++++++---------------
arch/powerpc/mm/fault.c | 54 ++++++++++-------------
arch/riscv/mm/fault.c | 38 +++++++---------
arch/s390/mm/fault.c | 23 +++-------
arch/x86/mm/fault.c | 39 +++++++----------
include/linux/mm.h | 28 ++++++++++++
mm/memory.c | 42 ++++++++++++++++++
11 files changed, 206 insertions(+), 155 deletions(-)
--
2.27.0
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-07-13 11:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-13 9:51 [PATCH rfc -next 00/10] mm: convert to generic VMA lock-based page fault Kefeng Wang
2023-07-13 11:46 ` Kefeng Wang
2023-07-13 9:53 Kefeng Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox