Re: [RFC/POC]: Make cpuset.cpus.effective independent of cpuset.cpus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/21/24 17:33, Petr Malat wrote:
Hi!
I have tried to use the new remote cgroup feature and I find the
interface unfriendly - requiring cpuset.cpus.exclusive to be a subset
of cpuset.cpus requires the program, which wants to isolate a CPU for
some RT activity, to know what CPUs all ancestor cgroups want to use.

For example consider cgroup hierarchy c1/c2/c3 where my program is
running and wants to isolate CPU N, so
  - It creates new c1/c2/c3/rt cgroup
  - It adds N to cpuset.cpus.exclusive of rt, c3 and c2 cgroup
    (cpuset.cpus.exclusive |= N)
  - Now it should do the same with cpuset.cpus, but that's not possible
    if ancestors cpuset.cpus is empty, which is common configuration and
    there is no good way how to set it in that case.

My proposal is to
  - Not require cpuset.cpus.exclusive to be a subset of cpuset.cpus
  - Create remote cgroup if cpuset.cpus is empty and local cgroup if it's
    set, to give the user explicit control on what cgroup is created.

I think we can make cpuset.cpus.exclusive independent of cpuset.cpus as a separate hierarchy to make creation of remote partitions easier. I need some more time to think through it. I don't think your test patch is enough for making this change. BTW, you confuse cpuset.cpus.exclusive with cpuset.cpus.effective which are two completely different things.

Cheers,
Longman





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux