lkml.org 
[lkml]   [2005]   [Sep]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/3] CPUMETER: add cpumeter framework to the CPUSETS
Jackson-san,

Thank you for the review. I'll fix the bugs that you have found.

On Tue, 27 Sep 2005 01:37:51 -0700
Paul Jackson <pj@sgi.com> wrote:

> The above reminds me of a bug fix that you provided in the previous
> patch set, for the case *ppos >= eof. I wonder if we have duplicated
> code here.

Ah, yes, we need to fix the bug in the cpuset code introduced by me...

> I see that the cpu controller patch, as it must, has hooks in the
> critical scheduler paths. How much does this slow down a system
> if CONFIG_CPUMETER is enabled, but the system is running in the
> default cpuset and cpumeter configuration, such as it would be
> after a reboot, before any intentional administration to setup
> particular cpusets or meters is attempted?

I don't have any benchmark numbers yet, but the cpu controller code
will add some if statements and will not hold any spinlocks to the
scheduler in the default configuration.

> Looking back at your nice opening picture, I see you write:
> > cpus/mems/meter_cpu/... and do not have their specific values.
> > - The metered CPUSETS can have their children
> > (this is not allowed in SUBCPUSETS).
> > - meter_cpu in the children of metered CPUSETS can not be modified
> > (can not create normal CPUSETS under metered CPUSETS).
>
> This seems more restrictive than necessary. Indeed, it reminds
> me of some of the concerns I had with the previous SUBCPUSET
> proposal. I think we should only need the following:

I have a few questions for your idea to make the design
in my mind clearer.

> * Some cpuset C in the hierarchy is marked cpu_exclusive (hence
> its ancestors are also so marked.)
> * None of C's descendents are cpu_exclusive. This will make
> cpuset C define a sched domain.
> * Each of the -immediate- children of C are marked meter_cpu.

Can the cpuset C have immediate children with meter_cpu=0?
Or should it be prohibited to set meter_cpu=0 for the immediate
children of C?

If it is prohibited to set meter_cpu=0 for the immediate children
of C, cpuset_create() needs a check whether the siblings are
metered or not. If the siblings are metered, the newly created
cpuset should also be metered. And probably it is not allowed
to set meter_cpu=1 if the sibling cpusets have meter_cpu=0.

> * But C is not marked meter_cpu, none of the ancestors of C
> are marked meter_cpu, and none of the descendents of C's
> children are marked meter_cpu. Just C's children as so marked.

Good idea, but I'd like to make sure...
Is it prohibited for any decendant of C's children to set meter_cpu=1 ?

> * C's immediate children must have the same CPU's as C. Children
> of these children can have any CPU's (that are a subset of C's,
> of course.)
> * Each of C's immediate children gets a certain portion of the
> CPU time, as specified in its meter_cpu_* files, to be shared
> amongst all tasks running in that cpuset, or any descendent of
> that cpuset.
> * This should allow for creating normal cpusets under metered
> cpusets.


Best regards,
--
KUROSAWA, Takahiro
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-09-27 13:41    [W:0.217 / U:0.956 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site