diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-10-11 22:11:12 +0200 |
---|---|---|
committer | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-10-11 22:11:12 +0200 |
commit | 10cd706d180b62a61aace5b440247c8785026ac1 (patch) | |
tree | 4bc544761719fd10ecfa977e6f4bfd8f1249d8b9 /include | |
parent | c7e872e7da5514d014707a407ea562d197cc0136 (diff) | |
download | op-kernel-dev-10cd706d180b62a61aace5b440247c8785026ac1.zip op-kernel-dev-10cd706d180b62a61aace5b440247c8785026ac1.tar.gz |
lockdep: x86_64: connect the sysexit hook
Run the lockdep_sys_exit hook after all other C code on the syscall
return path.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/irqflags_64.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/asm-x86/irqflags_64.h b/include/asm-x86/irqflags_64.h index 86e70fe..5341ea1 100644 --- a/include/asm-x86/irqflags_64.h +++ b/include/asm-x86/irqflags_64.h @@ -137,6 +137,20 @@ static inline void halt(void) # define TRACE_IRQS_ON # define TRACE_IRQS_OFF # endif +# ifdef CONFIG_DEBUG_LOCK_ALLOC +# define LOCKDEP_SYS_EXIT call lockdep_sys_exit_thunk +# define LOCKDEP_SYS_EXIT_IRQ \ + TRACE_IRQS_ON; \ + sti; \ + SAVE_REST; \ + LOCKDEP_SYS_EXIT; \ + RESTORE_REST; \ + cli; \ + TRACE_IRQS_OFF; +# else +# define LOCKDEP_SYS_EXIT +# define LOCKDEP_SYS_EXIT_IRQ +# endif #endif #endif |