[PATCH v2 0/1] loongson: Fix idle VS timer enqueue
From: Marco Crivellari
Date: Sat Feb 08 2025 - 05:19:42 EST
This patch aim to fix issues if timers are queued because __arch_cpu_idle()
only checks if TIF_NEED_RESCHED is set before going to sleep.
Changes are described in [1], and [2] improve the patch further.
The following patch is the result of [1] and [2] combined.
Code compiled successfully, but I couldn't test the changes because of some
trouble emulating a loongarch machine; I tried to boot with and without
this patch, but a panic occurred, due likely to a wrong VM configuration
(panic occurred right after the i8042 probing).
- [1] https://lore.kernel.org/all/20230811170049.308866-5-frederic@xxxxxxxxxx/#t
- [2] https://lore.kernel.org/all/06cf8750-901d-2f65-fb9e-81980688e017@xxxxxxxxxxx/
---
Changes in v2:
- arch/loongarch/kernel/genex.S: code improved as suggested by Huacai:
https://lore.kernel.org/loongarch/CAAhV-H6OKwmxhF_iWJEc8OEZ==h8dTdorTwkE8oMUMWAbU6xeg@xxxxxxxxxxxxxx/
- arch/loongarch/kernel/reset.c: asm inline inside the while loops
Marco Crivellari (1):
loongson: Fix idle VS timer enqueue
arch/loongarch/kernel/genex.S | 31 +++++++++++++++++--------------
arch/loongarch/kernel/idle.c | 3 +--
arch/loongarch/kernel/reset.c | 18 +++++++++---------
3 files changed, 27 insertions(+), 25 deletions(-)
--
2.48.1