Re: [PATCH v2] sched/fair: Disable DL server on rcu_torture_disable_rt_throttle()

From: Joel Fernandes
Date: Thu Mar 06 2025 - 12:03:33 EST




On 3/6/2025 4:35 AM, Juri Lelli wrote:
> Hi Joel,
>
> On 05/03/25 20:10, Joel Fernandes wrote:
>> Currently, RCU boost testing in rcutorture is broken because it relies on
>> having RT throttling disabled. This means the test will always pass (or
>> rarely fail). This occurs because recently, RT throttling was replaced
>> by DL server which boosts CFS tasks even when rcutorture tried to
>> disable throttling (see rcu_torture_disable_rt_throttle()). However, the
>> systctl_sched_rt_runtime variable is not considered thus still allowing
>> RT tasks to be preempted by CFS tasks.
>>
>> Therefore this patch prevents DL server from starting when RCU torture
>> sets the sysctl_sched_rt_runtime to -1.
>>
>> With this patch, boosting in TREE09 fails reliably if RCU_BOOST=n.
>>
>> Steven also mentioned that this could fix RT usecases where users do not
>> want DL server to be interfering.
>>
>> Cc: stable@xxxxxxxxxxxxxxx
>> Cc: Paul E. McKenney <paulmck@xxxxxxxxxx>
>> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
>> Fixes: cea5a3472ac4 ("sched/fair: Cleanup fair_server")
>> Signed-off-by: Joel Fernandes <joelagnelf@xxxxxxxxxx>
>> ---
>> v1->v2:
>> Updated Fixes tag (Steven)
>> Moved the stoppage of DL server to fair (Juri)
>
> I think what I suggested/wondered (sorry if I wasn't clear) is that we
> might need a link between sched_rt_runtime and the fair_server per-cpu
> runtime under sched/debug (i.e., sched_fair_write(), etc), otherwise one
> can end up with DL server disabled and still non zero runtime on the
> debug interface. This is only if we want to make that link, though;
> which I am not entirely sure it is something we want to do, as we will
> be stuck with an old/legacy interface if we do. Peter?
>
This is true. I was thinking more from a FAIR PoV. rt_bandwidth_enabled() is a
generic function that's also called from the DL code. So I didn't per-se look at
it like an DL server interface thing.

But you also do have a point and curious to hear what Peter has to say.

thanks,

- Joel