Re: [PATCH 19/17] sched_ext: Fix the stall watchdog blaming a bypassing owner for a stuck task
From: Tejun Heo
Date: Mon Oct 26 2026 - 17:32:05 EST
Hello, Andrea.
On Sun, Oct 25, 2026 at 04:52:51PM +0100, Andrea Righi wrote:
> Should we recheck watchdog_timeout after changing sch?
>
> The stall test above uses the task owner's timeout. So, a bypassing
> child with a short timeout could potentially cause its host to be
> ejected before the host's own timeout expires.
Yes, and the same mismatch is already in the dsq->sched blame that
2c91169377f4 ("sched_ext: Blame the DSQ's owning scheduler for a
runnable stall") added, which is in v7.3.
The blame doesn't need the DSQ at all. scx_exec_sched() gives the sched
running the task: the owner, or its host while the owner is bypassing.
That covers both the bypass DSQ case and the rescue/local DSQ case this
patch handles. The watchdog blames that sched and uses that sched's
timeout for the stall test.
The task's wait also carries across a bypass move. It waited under the
owner and then gets charged to the host, or the other way around when
bypass lifts. The fix restarts the wait when scx_bypass() requeues a
task, except for the root's own tasks.
So, I'm dropping this patch and will post the fix on its own for
sched_ext/for-7.4-fixes with a stable Cc.
Thanks.
--
tejun