Re: [REPORT] sched: ITMT + DELAY_DEQUEUE: woken task waits ~1 ms behind another task on the preferred CPU while allowed CPUs are idle
From: Francesco Nigro
Date: Thu Nov 05 2026 - 03:13:16 EST
On Thu, 2026-11-05 at 09:41 +0530, K Prateek Nayak wrote:
> Hello Francesco,
Hi Prateek,
thanks a lot for looking into this, and for the patch.
This is a corporate machine, so I can't promise I will be able to boot
a patched kernel on it, but I will try.
> Since you say ITMT disabled actually solves this issue, I suspect there is a
> race between the idle balancer moving the delayed task to a preferred CPU vs
> a wakeup that also lands on the same CPU.
perf sched shows a race like that, but the task moved is the running
one, by active balance. One example (perf sched timehist, trimmed; ms):
.654334 [6] worker 482 awakened: migration/7
.654337 [6] worker 482 blocks
.654338 [7] worker 481 preempted while running
.654341 [7] migration/7 migrated: worker 481 cpu 7 => 6
.654341 [2] waker awakened: worker 482
.655572 [6] worker 482 ran 1.006 after 0.224 sch delay
Does your change cover the active balance path too?
> So at this point, I would have expected B to have already been
> moved by a newidle / idle balance.
Not here: in 270 of 286 waits of 0.5 ms or more, neither worker left
CPU 6, and CPUs 4, 5 and 7 were idle for at least 98 % of the wait.
Trace summary and excerpt:
https://github.com/franz1981/itmt-delay-dequeue-repro/tree/827b6b2
Thanks,
Franz