summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/preempt.S
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2014-09-21 20:41:53 +0200
committerIngo Molnar <mingo@kernel.org>2014-09-24 15:15:38 +0200
commit0ad6e3c5199be12c9745da8f8b9e3c9f8066c235 (patch)
tree581d938c3bf976c54a95b2fd6030c232b7885031 /arch/x86/kernel/preempt.S
parentf3670394c29ff3730638762c1760fd2f624e6d7b (diff)
downloadtalos-op-linux-0ad6e3c5199be12c9745da8f8b9e3c9f8066c235.tar.gz
talos-op-linux-0ad6e3c5199be12c9745da8f8b9e3c9f8066c235.zip
x86: Speed up ___preempt_schedule*() by using THUNK helpers
___preempt_schedule() does SAVE_ALL/RESTORE_ALL but this is suboptimal, we do not need to save/restore the callee-saved register. And we already have arch/x86/lib/thunk_*.S which implements the similar asm wrappers, so it makes sense to redefine ___preempt_schedule() as "THUNK ..." and remove preempt.S altogether. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Reviewed-by: Andy Lutomirski <luto@amacapital.net> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/20140921184153.GA23727@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/preempt.S')
-rw-r--r--arch/x86/kernel/preempt.S25
1 files changed, 0 insertions, 25 deletions
diff --git a/arch/x86/kernel/preempt.S b/arch/x86/kernel/preempt.S
deleted file mode 100644
index ca7f0d58a87d..000000000000
--- a/arch/x86/kernel/preempt.S
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#include <linux/linkage.h>
-#include <asm/dwarf2.h>
-#include <asm/asm.h>
-#include <asm/calling.h>
-
-ENTRY(___preempt_schedule)
- CFI_STARTPROC
- SAVE_ALL
- call preempt_schedule
- RESTORE_ALL
- ret
- CFI_ENDPROC
-
-#ifdef CONFIG_CONTEXT_TRACKING
-
-ENTRY(___preempt_schedule_context)
- CFI_STARTPROC
- SAVE_ALL
- call preempt_schedule_context
- RESTORE_ALL
- ret
- CFI_ENDPROC
-
-#endif
OpenPOWER on IntegriCloud