aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/powerpc/kernel/signal.c
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2021-01-30 23:08:40 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2021-02-09 00:02:12 +1100
commit2a06bf3e95cd93e3640d431960181b8e47415f33 (patch)
tree053f9595d45c435259e0ed2e10ae78c3dc5e4833 /arch/powerpc/kernel/signal.c
parentpowerpc: add interrupt_cond_local_irq_enable helper (diff)
downloadwireguard-linux-2a06bf3e95cd93e3640d431960181b8e47415f33.tar.xz
wireguard-linux-2a06bf3e95cd93e3640d431960181b8e47415f33.zip
powerpc/64: context tracking remove _TIF_NOHZ
Add context tracking to the system call handler explicitly, and remove _TIF_NOHZ. This improves system call performance when nohz_full is enabled. On a POWER9, gettid scv system call cost on a nohz_full CPU improves from 1129 cycles to 1004 cycles and on a housekeeping CPU from 550 cycles to 430 cycles. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210130130852.2952424-31-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/kernel/signal.c')
-rw-r--r--arch/powerpc/kernel/signal.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c
index 53782aa60ade..9ded046edb0e 100644
--- a/arch/powerpc/kernel/signal.c
+++ b/arch/powerpc/kernel/signal.c
@@ -282,8 +282,6 @@ static void do_signal(struct task_struct *tsk)
void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags)
{
- user_exit();
-
if (thread_info_flags & _TIF_UPROBE)
uprobe_notify_resume(regs);
@@ -299,8 +297,6 @@ void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags)
tracehook_notify_resume(regs);
rseq_handle_notify_resume(NULL, regs);
}
-
- user_enter();
}
static unsigned long get_tm_stackpointer(struct task_struct *tsk)