On 08/07/2025 5:24 pm, Greg Kroah-Hartman wrote:
@@ -895,13 +900,17 @@ static __cpuidle void mwait_idle(void) } __monitor((void *)¤t_thread_info()->flags, 0, 0);
if (!need_resched())__sti_mwait(0, 0);else
if (need_resched()) { raw_local_irq_enable();goto out;}__sti_mwait(0, 0);
Erm, this doesn't look correct.
The raw_local_irq_enable() needs to remain after __sti_mwait().
~Andrew