Messages in this thread |  | | Subject | Re: [PATCH v5 18/22] powerpc/syscall: Remove FULL_REGS verification in system_call_exception | From | Christophe Leroy <> | Date | Tue, 9 Feb 2021 15:31:02 +0100 |
| |
Le 09/02/2021 à 03:02, Nicholas Piggin a écrit : > Excerpts from Christophe Leroy's message of February 9, 2021 1:10 am: >> For book3s/64, FULL_REGS() is 'true' at all time, so the test voids. >> For others, non volatile registers are saved inconditionally. >> >> So the verification is pointless. >> >> Should one fail to do it, it would anyway be caught by the >> CHECK_FULL_REGS() in copy_thread() as we have removed the >> special versions ppc_fork() and friends. >> >> null_syscall benchmark reduction 4 cycles (332 => 328 cycles) > > I wonder if we rather make a CONFIG option for a bunch of these simpler > debug checks here (and also in interrupt exit, wrappers, etc) rather > than remove them entirely.
We can drop this patch if you prefer. Anyway, like book3s/64, once ppc32 also do interrupt entry/exit in C, FULL_REGS() will already return true.
Christophe
> > Thanks, > Nick > >> >> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> >> --- >> arch/powerpc/kernel/interrupt.c | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c >> index 8fafca727b8b..55e1aa18cdb9 100644 >> --- a/arch/powerpc/kernel/interrupt.c >> +++ b/arch/powerpc/kernel/interrupt.c >> @@ -42,7 +42,6 @@ notrace long system_call_exception(long r3, long r4, long r5, >> if (!IS_ENABLED(CONFIG_BOOKE) && !IS_ENABLED(CONFIG_40x)) >> BUG_ON(!(regs->msr & MSR_RI)); >> BUG_ON(!(regs->msr & MSR_PR)); >> - BUG_ON(!FULL_REGS(regs)); >> BUG_ON(arch_irq_disabled_regs(regs)); >> >> #ifdef CONFIG_PPC_PKEY >> -- >> 2.25.0 >> >>
|  |