diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2026-01-30 13:41:00 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-02-06 16:55:44 +0100 |
| commit | 8d349452b2a63ee8dd78a9d7e27d4081035c8298 (patch) | |
| tree | 043efe7c99ee0a5eee6ecb4cad8d74b7e6d21046 /include/net/aligned_data.h | |
| parent | 08e22f0a8c41385e65bdfb4cb08d6b5d73a73a34 (diff) | |
sched/deadline: Fix 'stuck' dl_server
[ Upstream commit 115135422562e2f791e98a6f55ec57b2da3b3a95 ]
Andrea reported the dl_server getting stuck for him. He tracked it
down to a state where dl_server_start() saw dl_defer_running==1, but
the dl_server's job is no longer valid at the time of
dl_server_start().
In the state diagram this corresponds to [4] D->A (or dl_server_stop()
due to no more runnable tasks) followed by [1], which in case of a
lapsed deadline must then be A->B.
Now our A has dl_defer_running==1, while B demands
dl_defer_running==0, therefore it must get cleared when the CBS wakeup
rules demand a replenish.
Fixes: a110a81c52a9 ("sched/deadline: Deferrable dl server")
Reported-by: Andrea Righi arighi@nvidia.com
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Juri Lelli <juri.lelli@redhat.com>
Tested-by: Andrea Righi arighi@nvidia.com
Link: https://lkml.kernel.org/r/20260123161645.2181752-1-arighi@nvidia.com
Link: https://patch.msgid.link/20260130124100.GC1079264@noisy.programming.kicks-ass.net
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'include/net/aligned_data.h')
0 files changed, 0 insertions, 0 deletions
