diff options
Diffstat (limited to 'arch/x86/kernel/entry_64.S')
-rw-r--r-- | arch/x86/kernel/entry_64.S | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index b077f4cc225a..603be7c70675 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
@@ -1103,10 +1103,8 @@ retint_signal: | |||
1103 | /* Returning to kernel space. Check if we need preemption */ | 1103 | /* Returning to kernel space. Check if we need preemption */ |
1104 | /* rcx: threadinfo. interrupts off. */ | 1104 | /* rcx: threadinfo. interrupts off. */ |
1105 | ENTRY(retint_kernel) | 1105 | ENTRY(retint_kernel) |
1106 | cmpl $0,TI_preempt_count(%rcx) | 1106 | cmpl $0,PER_CPU_VAR(__preempt_count) |
1107 | jnz retint_restore_args | 1107 | jnz retint_restore_args |
1108 | bt $TIF_NEED_RESCHED,TI_flags(%rcx) | ||
1109 | jnc retint_restore_args | ||
1110 | bt $9,EFLAGS-ARGOFFSET(%rsp) /* interrupts off? */ | 1108 | bt $9,EFLAGS-ARGOFFSET(%rsp) /* interrupts off? */ |
1111 | jnc retint_restore_args | 1109 | jnc retint_restore_args |
1112 | call preempt_schedule_irq | 1110 | call preempt_schedule_irq |
@@ -1342,7 +1340,7 @@ bad_gs: | |||
1342 | .previous | 1340 | .previous |
1343 | 1341 | ||
1344 | /* Call softirq on interrupt stack. Interrupts are off. */ | 1342 | /* Call softirq on interrupt stack. Interrupts are off. */ |
1345 | ENTRY(call_softirq) | 1343 | ENTRY(do_softirq_own_stack) |
1346 | CFI_STARTPROC | 1344 | CFI_STARTPROC |
1347 | pushq_cfi %rbp | 1345 | pushq_cfi %rbp |
1348 | CFI_REL_OFFSET rbp,0 | 1346 | CFI_REL_OFFSET rbp,0 |
@@ -1359,7 +1357,7 @@ ENTRY(call_softirq) | |||
1359 | decl PER_CPU_VAR(irq_count) | 1357 | decl PER_CPU_VAR(irq_count) |
1360 | ret | 1358 | ret |
1361 | CFI_ENDPROC | 1359 | CFI_ENDPROC |
1362 | END(call_softirq) | 1360 | END(do_softirq_own_stack) |
1363 | 1361 | ||
1364 | #ifdef CONFIG_XEN | 1362 | #ifdef CONFIG_XEN |
1365 | zeroentry xen_hypervisor_callback xen_do_hypervisor_callback | 1363 | zeroentry xen_hypervisor_callback xen_do_hypervisor_callback |