[tip: sched/core] sched/core: Avoid migrating blocked_on tasks

tip-bot2 for John Stultz posted 1 patch 3 weeks, 3 days ago
kernel/sched/core.c | 3 +++
1 file changed, 3 insertions(+)
[tip: sched/core] sched/core: Avoid migrating blocked_on tasks
Posted by tip-bot2 for John Stultz 3 weeks, 3 days ago
The following commit has been merged into the sched/core branch of tip:

Commit-ID:     9be817f991e2eba140669d350df2a07d81f26fc8
Gitweb:        https://git.kernel.org/tip/9be817f991e2eba140669d350df2a07d81f26fc8
Author:        John Stultz <jstultz@google.com>
AuthorDate:    Fri, 07 Aug 2026 03:52:09 
Committer:     Peter Zijlstra <peterz@infradead.org>
CommitterDate: Wed, 02 Sep 2026 09:37:20 +02:00

sched/core: Avoid migrating blocked_on tasks

Its not useful to migrate blocked_on tasks from other
runqueues as the proxy logic will just migrate it
back to the owner's rq. So skip blocked_on tasks here.

Signed-off-by: John Stultz <jstultz@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20260807035232.1881495-4-jstultz@google.com
---
 kernel/sched/core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 7adbdcc..0f06f8d 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -6512,6 +6512,9 @@ static bool try_steal_cookie(int this, int that)
 		if (p == src->core_pick || p == src->curr || p == src->donor)
 			goto next;
 
+		if (task_is_blocked(p))
+			goto next;
+
 		if (!is_cpu_allowed(p, this))
 			goto next;