From: Thomas Gleixner <tglx@linutronix.de>
To: Jinjie Ruan <ruanjinjie@huawei.com>,
oleg@redhat.com, linux@armlinux.org.uk, will@kernel.org,
mark.rutland@arm.com, catalin.marinas@arm.com,
sstabellini@kernel.org, maz@kernel.org, peterz@infradead.org,
luto@kernel.org, kees@kernel.org, wad@chromium.org,
akpm@linux-foundation.org, samitolvanen@google.com,
arnd@arndb.de, ojeda@kernel.org, rppt@kernel.org,
hca@linux.ibm.com, aliceryhl@google.com,
samuel.holland@sifive.com, paulmck@kernel.org, aquini@redhat.com,
petr.pavlu@suse.com, ruanjinjie@huawei.com,
viro@zeniv.linux.org.uk, rmk+kernel@armlinux.org.uk,
ardb@kernel.org, wangkefeng.wang@huawei.com, surenb@google.com,
linus.walleij@linaro.org, yangyj.ee@gmail.com,
broonie@kernel.org, mbenes@suse.cz, puranjay@kernel.org,
pcc@google.com, guohanjun@huawei.com, sudeep.holla@arm.com,
Jonathan.Cameron@huawei.com, prarit@redhat.com,
liuwei09@cestc.cn, dwmw@amazon.co.uk, oliver.upton@linux.dev,
kristina.martsenko@arm.com, ptosi@google.com,
frederic@kernel.org, vschneid@redhat.com,
thiago.bauermann@linaro.org, joey.gouly@arm.com,
liuyuntao12@huawei.com, leobras@redhat.com,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
xen-devel@lists.xenproject.org
Subject: Re: [PATCH -next v4 17/19] entry: Add syscall arch functions to use generic syscall for arm64
Date: Mon, 28 Oct 2024 19:21:18 +0100 [thread overview]
Message-ID: <875xpc2in5.ffs@tglx> (raw)
In-Reply-To: <20241025100700.3714552-18-ruanjinjie@huawei.com>
On Fri, Oct 25 2024 at 18:06, Jinjie Ruan wrote:
$Subject: Can you please make this simply:
entry: Add arch_pre/post_report_syscall_entry/exit()
> Add some syscall arch functions to support arm64 to use generic syscall
> code, which do not affect existing architectures that use generic entry:
>
> - arch_pre/post_report_syscall_entry/exit().
> Also make syscall_exit_work() not static and move report_single_step() to
> thread_info.h, which can be used by arm64 later.
This does way too many things which have nothing to do with the subject
line.
> long syscall_trace_enter(struct pt_regs *regs, long syscall,
> unsigned long work)
> {
> @@ -34,7 +77,9 @@ long syscall_trace_enter(struct pt_regs *regs, long syscall,
>
> /* Handle ptrace */
> if (work & (SYSCALL_WORK_SYSCALL_TRACE | SYSCALL_WORK_SYSCALL_EMU)) {
> + unsigned long saved_reg = arch_pre_report_syscall_entry(regs);
Lacks a new line between declaration and code.
> ret = ptrace_report_syscall_entry(regs);
> + arch_post_report_syscall_entry(regs, saved_reg, ret);
Though I'm not sure whether these pre/post hooks buy anything. It's
probably simpler to do:
- ret = ptrace_report_syscall_entry(regs);
+ ret = arch_ptrace_report_syscall_entry(regs);
And have the default implementation as
return ptrace_report_syscall_entry(regs);
and let ARM64 implement it's magic around it in the architecture
header. The actual ptrace_report_syscall_entry() is simple enough to be
in both places. That reduces the inflation of architecture specific
helpers and keeps the code tidy.
Thanks,
tglx
next prev parent reply other threads:[~2024-10-28 18:21 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-25 10:06 [PATCH -next v4 00/19] arm64: entry: Convert to generic entry Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 01/19] arm64: ptrace: Replace interrupts_enabled() with regs_irqs_disabled() Jinjie Ruan
2024-10-29 14:19 ` Mark Rutland
2024-10-31 3:34 ` Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 02/19] arm64: entry: Refactor the entry and exit for exceptions from EL1 Jinjie Ruan
2024-10-29 14:33 ` Mark Rutland
2024-10-31 3:35 ` Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 03/19] arm64: entry: Remove __enter_from_user_mode() Jinjie Ruan
2024-10-29 14:42 ` Mark Rutland
2024-10-31 3:40 ` Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 04/19] arm64: entry: Remove __enter_from_kernel_mode() Jinjie Ruan
2024-10-29 14:37 ` Mark Rutland
2024-10-31 3:56 ` Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 05/19] arm64: entry: Remove __exit_to_kernel_mode() Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 06/19] arm64: entry: Move arm64_preempt_schedule_irq() into exit_to_kernel_mode() Jinjie Ruan
2024-10-29 14:52 ` Mark Rutland
2024-10-31 4:02 ` Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 07/19] arm64: entry: Call arm64_preempt_schedule_irq() only if irqs enabled Jinjie Ruan
2024-10-29 14:55 ` Mark Rutland
2024-10-25 10:06 ` [PATCH -next v4 08/19] arm64: entry: Rework arm64_preempt_schedule_irq() Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 09/19] arm64: entry: Use preempt_count() and need_resched() helper Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 10/19] arm64: entry: preempt_schedule_irq() only if PREEMPTION enabled Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 11/19] arm64: entry: Extract raw_irqentry_exit_cond_resched() function Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 12/19] arm64: entry: Check dynamic key ahead Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 13/19] arm64: entry: Check dynamic resched when PREEMPT_DYNAMIC enabled Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 14/19] entry: Split into irq entry and syscall Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 15/19] entry: Add arch irqentry_exit_need_resched() for arm64 Jinjie Ruan
2024-10-28 18:05 ` Thomas Gleixner
2024-10-28 22:15 ` Thomas Gleixner
2024-10-29 2:33 ` Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 16/19] arm64: entry: Switch to generic IRQ entry Jinjie Ruan
2024-10-25 10:06 ` [PATCH -next v4 17/19] entry: Add syscall arch functions to use generic syscall for arm64 Jinjie Ruan
2024-10-26 8:17 ` kernel test robot
2024-10-28 18:21 ` Thomas Gleixner [this message]
2024-10-25 10:06 ` [PATCH -next v4 18/19] arm64/ptrace: Split report_syscall() into separate enter and exit functions Jinjie Ruan
2024-10-25 10:07 ` [PATCH -next v4 19/19] arm64: entry: Convert to generic entry Jinjie Ruan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=875xpc2in5.ffs@tglx \
--to=tglx@linutronix.de \
--cc=Jonathan.Cameron@huawei.com \
--cc=akpm@linux-foundation.org \
--cc=aliceryhl@google.com \
--cc=aquini@redhat.com \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=dwmw@amazon.co.uk \
--cc=frederic@kernel.org \
--cc=guohanjun@huawei.com \
--cc=hca@linux.ibm.com \
--cc=joey.gouly@arm.com \
--cc=kees@kernel.org \
--cc=kristina.martsenko@arm.com \
--cc=leobras@redhat.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=liuwei09@cestc.cn \
--cc=liuyuntao12@huawei.com \
--cc=luto@kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mbenes@suse.cz \
--cc=ojeda@kernel.org \
--cc=oleg@redhat.com \
--cc=oliver.upton@linux.dev \
--cc=paulmck@kernel.org \
--cc=pcc@google.com \
--cc=peterz@infradead.org \
--cc=petr.pavlu@suse.com \
--cc=prarit@redhat.com \
--cc=ptosi@google.com \
--cc=puranjay@kernel.org \
--cc=rmk+kernel@armlinux.org.uk \
--cc=rppt@kernel.org \
--cc=ruanjinjie@huawei.com \
--cc=samitolvanen@google.com \
--cc=samuel.holland@sifive.com \
--cc=sstabellini@kernel.org \
--cc=sudeep.holla@arm.com \
--cc=surenb@google.com \
--cc=thiago.bauermann@linaro.org \
--cc=viro@zeniv.linux.org.uk \
--cc=vschneid@redhat.com \
--cc=wad@chromium.org \
--cc=wangkefeng.wang@huawei.com \
--cc=will@kernel.org \
--cc=xen-devel@lists.xenproject.org \
--cc=yangyj.ee@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.