diff options
author | Andy Lutomirski <luto@kernel.org> | 2015-10-05 20:48:21 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-10-09 03:41:12 -0400 |
commit | 4aabd140f9cbe0361401a1368bac74df1010abf5 (patch) | |
tree | 0cfc24055bbc52ad4958ca3643be2d28897460c3 /arch/x86/entry/common.c | |
parent | c68ca6787bdd6d2df37cf950135aa11e71af358a (diff) |
x86/entry: Hide two syscall entry assertions behind CONFIG_DEBUG_ENTRY
This shaves a few cycles off the slow paths.
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/ce383fa9e129286ce6da6e00b53acd4c9fb5d06a.1444091585.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/entry/common.c')
-rw-r--r-- | arch/x86/entry/common.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c index 08a945d7915e..778ca70c22dd 100644 --- a/arch/x86/entry/common.c +++ b/arch/x86/entry/common.c | |||
@@ -71,7 +71,8 @@ unsigned long syscall_trace_enter_phase1(struct pt_regs *regs, u32 arch) | |||
71 | unsigned long ret = 0; | 71 | unsigned long ret = 0; |
72 | u32 work; | 72 | u32 work; |
73 | 73 | ||
74 | BUG_ON(regs != task_pt_regs(current)); | 74 | if (IS_ENABLED(CONFIG_DEBUG_ENTRY)) |
75 | BUG_ON(regs != task_pt_regs(current)); | ||
75 | 76 | ||
76 | work = ACCESS_ONCE(current_thread_info()->flags) & | 77 | work = ACCESS_ONCE(current_thread_info()->flags) & |
77 | _TIF_WORK_SYSCALL_ENTRY; | 78 | _TIF_WORK_SYSCALL_ENTRY; |
@@ -160,7 +161,8 @@ long syscall_trace_enter_phase2(struct pt_regs *regs, u32 arch, | |||
160 | u32 work = ACCESS_ONCE(current_thread_info()->flags) & | 161 | u32 work = ACCESS_ONCE(current_thread_info()->flags) & |
161 | _TIF_WORK_SYSCALL_ENTRY; | 162 | _TIF_WORK_SYSCALL_ENTRY; |
162 | 163 | ||
163 | BUG_ON(regs != task_pt_regs(current)); | 164 | if (IS_ENABLED(CONFIG_DEBUG_ENTRY)) |
165 | BUG_ON(regs != task_pt_regs(current)); | ||
164 | 166 | ||
165 | /* | 167 | /* |
166 | * If we stepped into a sysenter/syscall insn, it trapped in | 168 | * If we stepped into a sysenter/syscall insn, it trapped in |