summaryrefslogtreecommitdiff
path: root/scripts/kconfig/icons/git@git.tavy.me:linux.git
diff options
context:
space:
mode:
authorJohn Stultz <jstultz@google.com>2026-05-12 02:56:16 +0000
committerPeter Zijlstra <peterz@infradead.org>2026-06-02 12:26:07 +0200
commit4c2a20413d7fb3fc3dd7adf233a4f82bb203fb58 (patch)
treee4e25a83ca1a085ee86392c2dc82a1f8b9de39a4 /scripts/kconfig/icons/git@git.tavy.me:linux.git
parentf13beb010e4ab0735c9e46802cbcc820a8bd6467 (diff)
sched: Add is_blocked task flag
Add a new is_blocked flag to the task struct. This flag is set by try_to_block_task() and cleared by ttwu_do_wakeup() and tracks if the task is blocked. Traditionally this would mirror !p->on_rq, however due things like DELAY_DEQUEUE and PROXY_EXEC, this can diverge, so its useful to manage separately. Additionally with this, we might be able to get rid of the p->se.sched_delayed (ab)use in the core code (eventually). Taken whole cloth from Peter's email: https://lore.kernel.org/lkml/20260501132143.GC1026330@noisy.programming.kicks-ass.net/ With a few additional p->is_blocked = 0 in a few cases where we return current if blocked_on gets zeroed or there is no owner. This may hint that these current special cases might be dropped eventually. This change also helps resolve wait-queue stalls seen with proxy-execution. See previous patch attempts for details: https://lore.kernel.org/lkml/20260430215103.2978955-2-jstultz@google.com/ Reported-by: Vineeth Pillai <vineethrp@google.com> Suggested-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: John Stultz <jstultz@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://patch.msgid.link/20260512025635.2840817-7-jstultz@google.com
Diffstat (limited to 'scripts/kconfig/icons/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions