[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <002836c8-002f-43bb-956d-e5dce6546af4@nvidia.com>
Date: Thu, 6 Mar 2025 12:02:05 -0500
From: Joel Fernandes <joelagnelf@...dia.com>
To: Juri Lelli <juri.lelli@...hat.com>
Cc: Ingo Molnar <mingo@...hat.com>, Peter Zijlstra <peterz@...radead.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>,
Mel Gorman <mgorman@...e.de>, Valentin Schneider <vschneid@...hat.com>,
stable@...r.kernel.org, "Paul E . McKenney" <paulmck@...nel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] sched/fair: Disable DL server on
rcu_torture_disable_rt_throttle()
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@...r.kernel.org
>> Cc: Paul E. McKenney <paulmck@...nel.org>
>> Cc: Steven Rostedt <rostedt@...dmis.org>
>> Fixes: cea5a3472ac4 ("sched/fair: Cleanup fair_server")
>> Signed-off-by: Joel Fernandes <joelagnelf@...dia.com>
>> ---
>> 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
Powered by blists - more mailing lists