On Tue, Jul 08, 2025 at 05:35:04PM +0100, Andrew Cooper wrote:
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().
We solved it offlist: 6.1 doesn't have
https://lore.kernel.org/r/20230112195540.618076436@infradead.org
so the transformation here is a bit different and thus ok.
Thx.