diff options
author | Chris Metcalf <cmetcalf@ezchip.com> | 2015-12-23 23:13:04 +0100 |
---|---|---|
committer | Chris Metcalf <cmetcalf@ezchip.com> | 2016-01-18 20:49:30 +0100 |
commit | 1bb50cad45f4a3fb9a339006d76efc50f70eed5b (patch) | |
tree | 91e00be5d5852acdb7c5c9ba9707b9f7926e6bc6 /arch/tile/kernel/intvec_32.S | |
parent | tile: fix bug in setting PT_FLAGS_DISABLE_IRQ on kernel entry (diff) | |
download | linux-1bb50cad45f4a3fb9a339006d76efc50f70eed5b.tar.xz linux-1bb50cad45f4a3fb9a339006d76efc50f70eed5b.zip |
arch/tile: move user_exit() to early kernel entry sequence
This ensures that we always notify context tracking that we
have exited from user space no matter how we enter the kernel.
It is similar to how arm64 handles context tracking, for example.
This allows the removal of all the exception_enter() calls that
were added in commit 49e4e15619cd ("tile: support CONTEXT_TRACKING and
thus NOHZ_FULL").
Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
Diffstat (limited to 'arch/tile/kernel/intvec_32.S')
-rw-r--r-- | arch/tile/kernel/intvec_32.S | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/tile/kernel/intvec_32.S b/arch/tile/kernel/intvec_32.S index 33d48812872a..9ff75e3a318a 100644 --- a/arch/tile/kernel/intvec_32.S +++ b/arch/tile/kernel/intvec_32.S @@ -572,7 +572,7 @@ intvec_\vecname: } wh64 r52 -#ifdef CONFIG_TRACE_IRQFLAGS +#if defined(CONFIG_TRACE_IRQFLAGS) || defined(CONFIG_CONTEXT_TRACKING) .ifnc \function,handle_nmi /* * We finally have enough state set up to notify the irq @@ -588,6 +588,9 @@ intvec_\vecname: { move r32, r2; move r33, r3 } .endif TRACE_IRQS_OFF +#ifdef CONFIG_CONTEXT_TRACKING + jal context_tracking_user_exit +#endif .ifnc \function,handle_syscall { move r0, r30; move r1, r31 } { move r2, r32; move r3, r33 } |