From: Juri Lelli Date: Thu, 13 Mar 2025 17:00:04 +0000 (+0100) Subject: sched/deadline: Ignore special tasks when rebuilding domains X-Git-Tag: v6.15-rc1~218^2~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f6147af176eaa4027b692fdbb1a0a60dfaa1e9b6;p=thirdparty%2Fkernel%2Flinux.git sched/deadline: Ignore special tasks when rebuilding domains SCHED_DEADLINE special tasks get a fake bandwidth that is only used to make sure sleeping and priority inheritance 'work', but it is ignored for runtime enforcement and admission control. Be consistent with it also when rebuilding root domains. Fixes: 53916d5fd3c0 ("sched/deadline: Check bandwidth overflow earlier for hotplug") Reported-by: Jon Hunter Signed-off-by: Juri Lelli Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Valentin Schneider Reviewed-by: Dietmar Eggemann Tested-by: Waiman Long Tested-by: Jon Hunter Tested-by: Dietmar Eggemann Link: https://lore.kernel.org/r/20250313170011.357208-2-juri.lelli@redhat.com --- diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c index ff4df16b5186d..1a041c1fc0d1e 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c @@ -2956,7 +2956,7 @@ void dl_add_task_root_domain(struct task_struct *p) struct dl_bw *dl_b; raw_spin_lock_irqsave(&p->pi_lock, rf.flags); - if (!dl_task(p)) { + if (!dl_task(p) || dl_entity_is_special(&p->dl)) { raw_spin_unlock_irqrestore(&p->pi_lock, rf.flags); return; }