Commit 3b22ec7b authored by Glauber de Oliveira Costa's avatar Glauber de Oliveira Costa Committed by Ingo Molnar
Browse files

x86: always enable irqs when entering idle



This matches x86_64 behaviour, which is a superior one IMHO

Signed-off-by: default avatarGlauber Costa <gcosta@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 1d89a7f0
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -127,6 +127,7 @@ void default_idle(void)
		local_irq_enable();
		current_thread_info()->status |= TS_POLLING;
	} else {
		local_irq_enable();
		/* loop is done by the caller */
		cpu_relax();
	}
@@ -142,6 +143,7 @@ EXPORT_SYMBOL(default_idle);
 */
static void poll_idle(void)
{
	local_irq_enable();
	cpu_relax();
}

@@ -248,8 +250,11 @@ void mwait_idle_with_hints(unsigned long ax, unsigned long cx)
		__monitor((void *)&current_thread_info()->flags, 0, 0);
		smp_mb();
		if (!need_resched())
			__mwait(ax, cx);
	}
			__sti_mwait(ax, cx);
		else
			local_irq_enable();
	} else
		local_irq_enable();
}

/* Default MONITOR/MWAIT with no hints, used for default C1 state */