Re: [PATCH 0/5] SUBCPUSETS: a resource control functionality using CPUSETS

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

 



Hi,

> Well, I suspect I don't understand yet.
> 
> Nice picture though - that gives me some idea what you mean.
> 
> Do notice that the basic rule of cpu_exclusive cpusets is that their
> CPUs don't overlap their siblings.  Your Cpusets 1, 2, and 3 seem to be
> marked cpu_exclusive in your picture, but all contain the same CPUs 2
> and 3, overlapping each other.

Yes, I know the current design of cpu_exclusive.
I just thought if I could enhance cpu_exclusive to cover a group of
cpusets to make the hierarchy as flat as possible.

> I'm guessing what you are trying to draw is:
> 
>   Tasks on CPUs 0 and 1 have no resource control limits.

I thought CPU 1 could have resource control limits.

>   Tasks on CPUs 2 and 3 have resource control limits specifying
> 	what percentage of the CPUs 2 and 3 is available to them.
> 
> I might draw my solution to that as:

I understand your idea clearly, which is essentially the same as
Korosawa's design. Your design looks very straight and I have
no objection to it.

My only concern is that it would become harder to control resources
between CPUSET 1a,1b and 1c if some processes are assigned to CPUSET 1
directly. But I just get an idea that it would be OK if CPUSET 1 can
have meter_cpu=1 to share the resources.

>      +-----------------------------------+
>      |                                   |
>   CPUSET 0                            CPUSET 1         
>   sched domain A                      sched domain B   
>   cpus: 0, 1                          cpus: 2, 3       
>   cpu_exclusive=1                     cpu_exclusive=1
>   meter_cpu=0                         meter_cpu=0
>                                          |
>                         +----------------+----------------+
>                         |                |                |
>                      CPUSET 1a        CPUSET 1b        CPUSET 1c
>                      cpus: 2, 3       cpus: 2, 3       cpus: 2, 3
> 		     cpu_exclusive=0  cpu_exclusive=0  cpu_exclusive=0
>                      meter_cpu=1      meter_cpu=1      meter_cpu=1
>                      meter_cpu_*      meter_cpu_*      meter_cpu_*
> 
> The meter_cpu_* files in each of Cpusets 1a, 1b, and 1c control what
> proportion of the CPU resources in that Cpuset can be used by the tasks
> in that Cpuset.
> 
> If meter_cpu is false (0) then the meter_cpu_* files do not appear,
> which is equivalent to allowing 100% of the CPUs in that Cpuset to
> be used by the tasks in that Cpuset (and descendents, of course.)
> 
> Don't forget - this all seems like it has significant mission overlap
> with CKRM.  I hate to repeat this, but the relation of your work to
> CKRM needs to be understood before I am likely to agree to accepting
> your work into the kernel (not that my acceptance is required; you
> really just need Linus to agree, though he of course considers the
> positions of others to some inscrutable degree.)

OK.

Thanks,
Hirokazu Takahashi.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux