public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Jackson <pj@sgi.com>
To: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Cc: dino@in.ibm.com, suresh.b.siddha@intel.com, menage@google.com,
	Simon.Derr@bull.net, linux-kernel@vger.kernel.org,
	mbligh@google.com, rohitseth@google.com, dipankar@in.ibm.com
Subject: Re: [RFC] Cpuset: explicit dynamic sched domain control flags
Date: Tue, 17 Oct 2006 12:18:23 -0700	[thread overview]
Message-ID: <20061017121823.e6f695aa.pj@sgi.com> (raw)
In-Reply-To: <20061017114306.A19690@unix-os.sc.intel.com>

> What happens when the job in the cpuset with no sched domain
> becomes active? In this case, scheduler can't make use of all cpus
> that this cpuset is allowed to use.

What happens then is that the job manager marks the cpuset of this
newly activated job as being a sched_domain.

And if the job manager doesn't do that, and sets up a situation in
which the scheduler domains don't line up with the active jobs, then
they can't get scheduler load balancing across all the CPUs in those
jobs cpusets.  That's exactly what they asked for -- that's exactly
what they got.

(Actually, is that right?  I thought load balancing would still occur
at higher levels in the sched domain/group hierarchy, just not as
often.)

It is not the kernels job to make it impossible for user code to do
stupid things.  It's the kernels job to offer up various mechanisms,
and let user space code decide what to do when.

And, anyhow, how does this differ from overloading the cpu_exclusive
flag to define sched domains.  One can setup the same thing there,
where a job can't balance across all its CPUs:

	/dev/cpuset/cs1		cpu_exclusive = 1; cpus = 0-7
	/dev/cpuset/cs1/suba	cpu_exclusive = 1; cpus = 0-3
	/dev/cpuset/cs1/subb	cpu_exclusive = 1; cpus = 4-7

(sched_domain_enabled = 0 in all cpusets)

If you put a task in cpuset "cs1" (not in one of the sub cpusets)
then it can't load balance between CPUs 0-3 and CPUs 4-7 (or can't
load balance as often - depending on how this works.)

-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@sgi.com> 1.925.600.0401

  reply	other threads:[~2006-10-17 19:18 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-16 23:03 [RFC] Cpuset: explicit dynamic sched domain control flags Paul Jackson
2006-10-17 18:43 ` Siddha, Suresh B
2006-10-17 19:18   ` Paul Jackson [this message]
2006-10-18  2:01     ` Siddha, Suresh B
2006-10-18  7:05       ` Paul Jackson
2006-10-18 17:50         ` Siddha, Suresh B
2006-10-19  6:30           ` Paul Jackson
2006-10-19  6:39         ` Nick Piggin
2006-10-19  7:03           ` Paul Jackson
2006-10-19  8:09             ` Nick Piggin
2006-10-19  8:15               ` Paul Jackson
2006-10-19  8:18                 ` Paul Jackson
2006-10-18 17:49 ` Dinakar Guniguntala
2006-10-19  6:00   ` Paul Jackson
2006-10-19  6:28   ` Paul Jackson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061017121823.e6f695aa.pj@sgi.com \
    --to=pj@sgi.com \
    --cc=Simon.Derr@bull.net \
    --cc=dino@in.ibm.com \
    --cc=dipankar@in.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@google.com \
    --cc=menage@google.com \
    --cc=rohitseth@google.com \
    --cc=suresh.b.siddha@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox