sched/deadline: Less agressive dl_server handling
authorPeter Zijlstra <peterz@infradead.org>
Tue, 20 May 2025 09:19:30 +0000 (11:19 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 9 Jul 2025 11:40:21 +0000 (13:40 +0200)
commitcccb45d7c4295bbfeba616582d0249f2d21e6df5
tree1652ef38b94e23fc8ca3c785784aa268ad46a5ce
parent570c8efd5eb79c3725ba439ce105ed1bedc5acd9
sched/deadline: Less agressive dl_server handling

Chris reported that commit 5f6bd380c7bd ("sched/rt: Remove default
bandwidth control") caused a significant dip in his favourite
benchmark of the day. Simply disabling dl_server cured things.

His workload hammers the 0->1, 1->0 transitions, and the
dl_server_{start,stop}() overhead kills it -- fairly obviously a bad
idea in hind sight and all that.

Change things around to only disable the dl_server when there has not
been a fair task around for a whole period. Since the default period
is 1 second, this ensures the benchmark never trips this, overhead
gone.

Fixes: 557a6bfc662c ("sched/fair: Add trivial fair server")
Reported-by: Chris Mason <clm@meta.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Juri Lelli <juri.lelli@redhat.com>
Acked-by: Juri Lelli <juri.lelli@redhat.com>
Link: https://lkml.kernel.org/r/20250702121158.465086194@infradead.org
include/linux/sched.h
kernel/sched/deadline.c
kernel/sched/fair.c