diff options
| author | Tiwei Bie <tiwei.btw@antgroup.com> | 2025-10-27 08:18:10 +0800 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2025-10-27 16:41:15 +0100 |
| commit | 2670917c2fc8902558f3aba4f41e5cc5bf6e18fa (patch) | |
| tree | 257b673beaa85834ea9af4e664ba34c71c40b7ad /arch/um/kernel/process.c | |
| parent | 9e5a9f1c9b336871c8e76c1cefd85182c5b58541 (diff) | |
um: Determine sleep based on need_resched()
With SMP and NO_HZ enabled, the CPU may still need to sleep even
if the timer is disarmed. Switch to deciding whether to sleep based
on pending resched. Additionally, because disabling IRQs does not
block SIGALRM, it is also necessary to check for any pending timer
alarms. This is a preparation for adding SMP support.
Signed-off-by: Tiwei Bie <tiwei.btw@antgroup.com>
Link: https://patch.msgid.link/20251027001815.1666872-4-tiwei.bie@linux.dev
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'arch/um/kernel/process.c')
| -rw-r--r-- | arch/um/kernel/process.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index 0a9249b2b86b..3b28048f269c 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c @@ -223,6 +223,11 @@ int __uml_cant_sleep(void) { /* Is in_interrupt() really needed? */ } +int uml_need_resched(void) +{ + return need_resched(); +} + extern exitcall_t __uml_exitcall_begin, __uml_exitcall_end; void do_uml_exitcalls(void) |
