[PATCH v18 00/14] arm64: entry: Convert to Generic Entry

Jinjie Ruan posted 14 patches 3 weeks, 3 days ago
There is a newer version of this series
arch/arm64/Kconfig                    |   2 +-
arch/arm64/include/asm/entry-common.h |  77 +++++++++++++++++
arch/arm64/include/asm/syscall.h      |   5 +-
arch/arm64/include/asm/thread_info.h  |  16 +---
arch/arm64/kernel/debug-monitors.c    |   8 ++
arch/arm64/kernel/entry-common.c      |   2 +-
arch/arm64/kernel/ptrace.c            | 115 --------------------------
arch/arm64/kernel/signal.c            |   2 +-
arch/arm64/kernel/syscall.c           |  34 +++-----
9 files changed, 102 insertions(+), 159 deletions(-)
[PATCH v18 00/14] arm64: entry: Convert to Generic Entry
Posted by Jinjie Ruan 3 weeks, 3 days ago
This series converts arm64 to the generic entry infrastructure.

Currently, architectures such as x86, RISC-V, LoongArch, Powerprc
and S390 use generic entry, which significantly reduces maintenance
burden and improves code elegance. arm64 already adopted generic IRQ
entry in commit b3cf07851b6c ("arm64: entry: Switch to generic IRQ entry"),
making it the right time to complete the conversion.

This work brings arm64 in line with other major architectures,
reducing duplicated code and enabling future improvements like
Syscall User Dispatch and rseq time slice extension optimizations.

The series is rebased on v7.3-rc1 and has been tested on Kunpeng HIP09
with stress-ng, hackbench, kselftests (ptrace, breakpoints, arm64/abi,
arm64/fp, vDSO), ptrace stress test, and Pseudo-NMI load test.

Changes in v18:
- Rebased on v7.3-rc1.
- Drop the SUD patch as Mark suggeted.
- Update the commit message.
- Add Reviewed-by.
- Link to v17: https://lore.kernel.org/all/20260721081858.1169276-1-ruanjinjie@huawei.com/

For changes in v7 to v16, please refer to the individual patch threads:
- v16: https://lore.kernel.org/all/20260629130616.642022-1-ruanjinjie@huawei.com/
- v15: https://lore.kernel.org/all/20260511092103.1974980-1-ruanjinjie@huawei.com/
- v14: https://lore.kernel.org/all/20260320102620.1336796-1-ruanjinjie@huawei.com/
- v13: https://lore.kernel.org/all/20260317082020.737779-1-ruanjinjie@huawei.com/
- v12: https://lore.kernel.org/all/20260203133728.848283-1-ruanjinjie@huawei.com/
- v11: https://lore.kernel.org/all/20260128031934.3906955-1-ruanjinjie@huawei.com/
- v10: https://lore.kernel.org/all/20251222114737.1334364-1-ruanjinjie@huawei.com/
- v9: https://lore.kernel.org/all/20251204082123.2792067-1-ruanjinjie@huawei.com/
- v8: https://lore.kernel.org/all/20251126071446.3234218-1-ruanjinjie@huawei.com/
- v7: https://lore.kernel.org/all/20251117133048.53182-1-ruanjinjie@huawei.com/

Jinjie Ruan (14):
  arm64: ptrace: Fix redundant syscall exit stop for
    PTRACE_SYSEMU_SINGLESTEP
  arm64: ptrace: Rework audit_syscall_entry()
  arm64: ptrace: Open-code seccomp check in syscall_trace_enter()
  arm64: ptrace: Rename and clean up syscall_trace_enter()
  arm64: ptrace: Protect rseq_syscall() from tracer PC modifications
  arm64: syscall: Rework the syscall exit path in el0_svc_common()
  arm64: ptrace: Pass thread flags to trace enter/exit
  arm64: ptrace: Extract arm64_syscall_exit_to_user_mode_work() helper
  arm64: ptrace: Align syscall exit work semantics with generic entry
  arm64: syscall: Use exit-specific flags check in el0_svc_common()
  arm64: syscall: Simplify el0_svc_common() syscall exit path
  arm64: ptrace: Make return type of arm64_syscall_trace_enter() bool
  arm64: entry: Convert to generic entry
  arm64: Inline el0_svc_common()

 arch/arm64/Kconfig                    |   2 +-
 arch/arm64/include/asm/entry-common.h |  77 +++++++++++++++++
 arch/arm64/include/asm/syscall.h      |   5 +-
 arch/arm64/include/asm/thread_info.h  |  16 +---
 arch/arm64/kernel/debug-monitors.c    |   8 ++
 arch/arm64/kernel/entry-common.c      |   2 +-
 arch/arm64/kernel/ptrace.c            | 115 --------------------------
 arch/arm64/kernel/signal.c            |   2 +-
 arch/arm64/kernel/syscall.c           |  34 +++-----
 9 files changed, 102 insertions(+), 159 deletions(-)

-- 
2.34.1
Re: [PATCH v18 00/14] arm64: entry: Convert to Generic Entry
Posted by Jinjie Ruan 1 week, 3 days ago

在 2026/9/2 17:55, Jinjie Ruan 写道:
> This series converts arm64 to the generic entry infrastructure.
> 
> Currently, architectures such as x86, RISC-V, LoongArch, Powerprc
> and S390 use generic entry, which significantly reduces maintenance
> burden and improves code elegance. arm64 already adopted generic IRQ
> entry in commit b3cf07851b6c ("arm64: entry: Switch to generic IRQ entry"),
> making it the right time to complete the conversion.
> 
> This work brings arm64 in line with other major architectures,
> reducing duplicated code and enabling future improvements like
> Syscall User Dispatch and rseq time slice extension optimizations.
> 
> The series is rebased on v7.3-rc1 and has been tested on Kunpeng HIP09
> with stress-ng, hackbench, kselftests (ptrace, breakpoints, arm64/abi,
> arm64/fp, vDSO), ptrace stress test, and Pseudo-NMI load test.
> 
> Changes in v18:
> - Rebased on v7.3-rc1.
> - Drop the SUD patch as Mark suggeted.
> - Update the commit message.
> - Add Reviewed-by.
> - Link to v17: https://lore.kernel.org/all/20260721081858.1169276-1-ruanjinjie@huawei.com/

Hi Mark,

Thanks for your continuous and detailed guidance through the previous
iterations of this series.

Please let me know if there are any further review comments or code
modifications required from my side, or if this looks good to be queued
for the upcoming 7.4 cycle?

Thanks,
Jinjie

> 
> For changes in v7 to v16, please refer to the individual patch threads:
> - v16: https://lore.kernel.org/all/20260629130616.642022-1-ruanjinjie@huawei.com/
> - v15: https://lore.kernel.org/all/20260511092103.1974980-1-ruanjinjie@huawei.com/
> - v14: https://lore.kernel.org/all/20260320102620.1336796-1-ruanjinjie@huawei.com/
> - v13: https://lore.kernel.org/all/20260317082020.737779-1-ruanjinjie@huawei.com/
> - v12: https://lore.kernel.org/all/20260203133728.848283-1-ruanjinjie@huawei.com/
> - v11: https://lore.kernel.org/all/20260128031934.3906955-1-ruanjinjie@huawei.com/
> - v10: https://lore.kernel.org/all/20251222114737.1334364-1-ruanjinjie@huawei.com/
> - v9: https://lore.kernel.org/all/20251204082123.2792067-1-ruanjinjie@huawei.com/
> - v8: https://lore.kernel.org/all/20251126071446.3234218-1-ruanjinjie@huawei.com/
> - v7: https://lore.kernel.org/all/20251117133048.53182-1-ruanjinjie@huawei.com/
> 
> Jinjie Ruan (14):
>   arm64: ptrace: Fix redundant syscall exit stop for
>     PTRACE_SYSEMU_SINGLESTEP
>   arm64: ptrace: Rework audit_syscall_entry()
>   arm64: ptrace: Open-code seccomp check in syscall_trace_enter()
>   arm64: ptrace: Rename and clean up syscall_trace_enter()
>   arm64: ptrace: Protect rseq_syscall() from tracer PC modifications
>   arm64: syscall: Rework the syscall exit path in el0_svc_common()
>   arm64: ptrace: Pass thread flags to trace enter/exit
>   arm64: ptrace: Extract arm64_syscall_exit_to_user_mode_work() helper
>   arm64: ptrace: Align syscall exit work semantics with generic entry
>   arm64: syscall: Use exit-specific flags check in el0_svc_common()
>   arm64: syscall: Simplify el0_svc_common() syscall exit path
>   arm64: ptrace: Make return type of arm64_syscall_trace_enter() bool
>   arm64: entry: Convert to generic entry
>   arm64: Inline el0_svc_common()
> 
>  arch/arm64/Kconfig                    |   2 +-
>  arch/arm64/include/asm/entry-common.h |  77 +++++++++++++++++
>  arch/arm64/include/asm/syscall.h      |   5 +-
>  arch/arm64/include/asm/thread_info.h  |  16 +---
>  arch/arm64/kernel/debug-monitors.c    |   8 ++
>  arch/arm64/kernel/entry-common.c      |   2 +-
>  arch/arm64/kernel/ptrace.c            | 115 --------------------------
>  arch/arm64/kernel/signal.c            |   2 +-
>  arch/arm64/kernel/syscall.c           |  34 +++-----
>  9 files changed, 102 insertions(+), 159 deletions(-)
>