Re: [PATCH 2/2] cgroup, docs: Document interaction of RT processes with cpu controller

From: Shashank.Mahadasyam@xxxxxxxx
Date: Thu Mar 06 2025 - 06:04:13 EST


Hi Michal,

> Hello Shashank.
>
> On Wed, Mar 05, 2025 at 01:12:44PM +0900, Shashank Balaji via B4 Relay <devnull+shashank.mahadasyam.sony.com@xxxxxxxxxx> wrote:
> > From: Shashank Balaji <shashank.mahadasyam@xxxxxxxx>
> >
> > If the cpu controller is enabled in a CONFIG_RT_GROUP_SCHED
> > disabled setting, cpu.stat and cpu.pressure account for realtime
> > processes, and cpu.uclamp.{min, max} affect realtime processes as well.
> > None of the other interface files are affected by or affect realtime
> > processes.
>
> I'm not sure the changed formulation make it clearer.
> What was the unexpected value with !CONFIG_RT_GROUP_SCHED that made you
> change this docs?
>
> (Please note the docs is for generic cgroup, not only root cgroup.)

The documentation covers what happens when CONFIG_RT_GROUP_SCHED is enabled,
i.e. all the realtime processes have to be in the root cgroup for the cpu
controller to be enabled. But what is not documented is how realtime processes
are treated with !CONFIG_RT_GROUP_SCHED. Initially I was under the impression
"oh, the other interface files seem to affect only processes under the fair
class scheduler, so maybe they don't affect realtime processes". But on further
digging, I found that cpu.stat and cpu.pressure account for realtime processes,
and cpu.uclamp.{min, max} affect realtime processes as well.

Do you think it should be rephrased to make it clearer?

Thanks,
Shashank