aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/entry_32.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/entry_32.S')
-rw-r--r--arch/x86/kernel/entry_32.S16
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index 44a8e0dc6737..3dc8593dd2aa 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -375,15 +375,18 @@ END(ret_from_exception)
375ENTRY(resume_kernel) 375ENTRY(resume_kernel)
376 DISABLE_INTERRUPTS(CLBR_ANY) 376 DISABLE_INTERRUPTS(CLBR_ANY)
377 cmpl $0,TI_preempt_count(%ebp) # non-zero preempt_count ? 377 cmpl $0,TI_preempt_count(%ebp) # non-zero preempt_count ?
378 jnz restore_all 378 jnz restore_nocheck_trace
379need_resched: 379need_resched:
380 movl TI_flags(%ebp), %ecx # need_resched set ? 380 movl TI_flags(%ebp), %ecx # need_resched set ?
381 testb $_TIF_NEED_RESCHED, %cl 381 testb $_TIF_NEED_RESCHED, %cl
382 jz restore_all 382 jz restore_nocheck_trace
383 testl $X86_EFLAGS_IF,PT_EFLAGS(%esp) # interrupts off (exception path) ? 383 testl $X86_EFLAGS_IF,PT_EFLAGS(%esp) # interrupts off (exception path) ?
384 jz restore_all 384 jz restore_nocheck_trace
385 call preempt_schedule_irq 385 call preempt_schedule_irq
386 jmp need_resched 386 jmp need_resched
387restore_nocheck_trace:
388 TRACE_IRQS_IRET
389 jmp restore_nocheck
387END(resume_kernel) 390END(resume_kernel)
388#endif 391#endif
389 CFI_ENDPROC 392 CFI_ENDPROC
@@ -639,12 +642,9 @@ work_pending:
639 testb $_TIF_NEED_RESCHED, %cl 642 testb $_TIF_NEED_RESCHED, %cl
640 jz work_notifysig 643 jz work_notifysig
641work_resched: 644work_resched:
642 call schedule 645 call __schedule
643 LOCKDEP_SYS_EXIT 646 LOCKDEP_SYS_EXIT
644 DISABLE_INTERRUPTS(CLBR_ANY) # make sure we don't miss an interrupt 647
645 # setting need_resched or sigpending
646 # between sampling and the iret
647 TRACE_IRQS_OFF
648 movl TI_flags(%ebp), %ecx 648 movl TI_flags(%ebp), %ecx
649 andl $_TIF_WORK_MASK, %ecx # is there any work to be done other 649 andl $_TIF_WORK_MASK, %ecx # is there any work to be done other
650 # than syscall tracing? 650 # than syscall tracing?