Skip to contentSkip to conversation

x86/entry change for v5.2

GIT PULL Merged Ingo Molnar 2 participants 2 messages May 6, 2019

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Linus,

Please pull the latest x86-entry-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-entry-for-linus

# HEAD: b5b447b6b4e899e0978b95cb42d272978f8c7b4d x86/entry: Remove unneeded need_resched() loop

This tree includes a single commit that removes a redundant complication from preempt-schedule handling in the x86 entry code.

Thanks,

Ingo

------------------>
Valentin Schneider (1):
x86/entry: Remove unneeded need_resched() loop

 arch/x86/entry/entry_32.S | 3 +--
 arch/x86/entry/entry_64.S | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)
arch/x86/entry/entry_32.S +1 -2
index d309f30cf7af..b1856fe9decf 100644
@@ -766,13 +766,12 @@ END(ret_from_exception)
 #ifdef CONFIG_PREEMPT
 ENTRY(resume_kernel)
 	DISABLE_INTERRUPTS(CLBR_ANY)
-.Lneed_resched:
 	cmpl	$0, PER_CPU_VAR(__preempt_count)
 	jnz	restore_all_kernel
 	testl	$X86_EFLAGS_IF, PT_EFLAGS(%esp)	# interrupts off (exception path) ?
 	jz	restore_all_kernel
 	call	preempt_schedule_irq
-	jmp	.Lneed_resched
+	jmp	restore_all_kernel
 END(resume_kernel)
 #endif
 
arch/x86/entry/entry_64.S +1 -2
index 1f0efdb7b629..e7e270603fe7 100644
@@ -645,10 +645,9 @@ retint_kernel:
 	/* Check if we need preemption */
 	btl	$9, EFLAGS(%rsp)		/* were interrupts off? */
 	jnc	1f
-0:	cmpl	$0, PER_CPU_VAR(__preempt_count)
+	cmpl	$0, PER_CPU_VAR(__preempt_count)
 	jnz	1f
 	call	preempt_schedule_irq
-	jmp	0b
 1:
 #endif
 	/*