All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH evl] evl/thread: fix lost kick of a thread running on a remote CPU
@ 2026-11-10 18:11 Tobias Schaffner
  2026-11-11  8:32 ` Philippe Gerum
  0 siblings, 1 reply; 2+ messages in thread
From: Tobias Schaffner @ 2026-11-10 18:11 UTC (permalink / raw)
  To: xenomai; +Cc: rpm, Tobias Schaffner

evl_kick_thread() skips the mayday if the kicked thread is current on
its own runqueue instead of the local one. A thread running out-of-band
on another CPU is therefore never kicked and keeps running with a
pending signal.

Check against the local runqueue again.

Fixes: fecf5883ecd3 ("evl/sched: get rid of this_evl_rq_thread()")
Signed-off-by: Tobias Schaffner <tobias.schaffner@siemens.com>
---
 kernel/evl/thread.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/evl/thread.c b/kernel/evl/thread.c
index 2aa07b494d40..94d073a1b7e7 100644
--- a/kernel/evl/thread.c
+++ b/kernel/evl/thread.c
@@ -1323,7 +1323,7 @@ void evl_kick_thread(struct evl_thread *thread)
 	 * stage demotion took place.
 	 */
 	if (thread->state & EVL_T_USER) {
-		if (rq->curr != thread)
+		if (this_evl_rq()->curr != thread)
 			dovetail_send_mayday(p);
 
 		if (thread->state & EVL_THREAD_LAZY_MASK)

base-commit: a3ad77d7ba3eac8a73f64026272747c01dd84fc6
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-11-11  8:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-10 18:11 [PATCH evl] evl/thread: fix lost kick of a thread running on a remote CPU Tobias Schaffner
2026-11-11  8:32 ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.