x86/irq/tracing: Do not save callee-preserved registers around lockdep_sys_exit_thunk
authorDenys Vlasenko <dvlasenk@redhat.com>
Wed, 25 Mar 2015 20:14:28 +0000 (21:14 +0100)
committerIngo Molnar <mingo@kernel.org>
Fri, 27 Mar 2015 09:01:49 +0000 (10:01 +0100)
Internally, lockdep_sys_exit_thunk saves callee-clobbered
registers, and calls a C function, lockdep_sys_exit. Thus,
callee-preserved registers won't be mangled, there is no need to
save them.

Patch was run-tested.

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Will Drewry <wad@chromium.org>
Link: http://lkml.kernel.org/r/1427314468-12763-4-git-send-email-dvlasenk@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/irqflags.h

index 19355f34c4a3acc894053dc247c2caba36650808..9a63eae04e4bbfbcac81867c8a764ca9d93b4b9a 100644 (file)
@@ -179,9 +179,7 @@ static inline int arch_irqs_disabled(void)
 #    define LOCKDEP_SYS_EXIT_IRQ \
        TRACE_IRQS_ON; \
        sti; \
-       SAVE_EXTRA_REGS; \
        call lockdep_sys_exit_thunk; \
-       RESTORE_EXTRA_REGS; \
        cli; \
        TRACE_IRQS_OFF;
 #  else