[PATCH 1/6] sched/proxy: Remove superfluous clear_task_blocked_in()
From: Peter Zijlstra
Date: Tue May 26 2026 - 07:43:45 EST
Per the discussion here:
https://lore.kernel.org/all/20260403112810.GG3738786@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
The reason for this condition is that the signal condition in
try_to_block_task() would set_task_blocked_in_waking(). However, it no longer
does that, in fact, that path does clear_task_blocked_on(), rendering the
clause under discussion moot.
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
---
kernel/sched/core.c | 3 ---
1 file changed, 3 deletions(-)
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -7132,9 +7132,6 @@ static void __sched notrace __schedule(i
if (sched_proxy_exec()) {
struct task_struct *prev_donor = rq->donor;
- if (!prev_state && prev->blocked_on)
- clear_task_blocked_on(prev, NULL);
-
rq_set_donor(rq, next);
next->blocked_donor = NULL;
if (unlikely(next->is_blocked && next->blocked_on)) {