From: Paul Jackson <pj@sgi.com>
To: dino@in.ibm.com
Cc: Simon.Derr@bull.net, nickpiggin@yahoo.com.au,
linux-kernel@vger.kernel.org, lse-tech@lists.sourceforge.net,
akpm@osdl.org, dipankar@in.ibm.com, colpatch@us.ibm.com
Subject: Re: [RFC PATCH] Dynamic sched domains aka Isolated cpusets (v0.2)
Date: Fri, 22 Apr 2005 20:11:45 -0700 [thread overview]
Message-ID: <20050422201145.2516a326.pj@sgi.com> (raw)
In-Reply-To: <20050421173135.GB4200@in.ibm.com>
Dinakar's patch contains:
+ /* Make the change */
+ par->cpus_allowed = t.cpus_allowed;
+ par->isolated_map = t.isolated_map;
Doesn't the above make changes to the parent cpus_allowed without
calling validate_change()? Couldn't we do nasty things like
empty that cpus_allowed, leaving tasks in that cpuset starved
(or testing the last chance code that scans up the cpuset
hierarchy looking for a non-empty cpus_allowed)?
What prevents all the immediate children of the top cpuset from
using up all the cpus as isolated cpus, leaving the top cpuset
cpus_allowed empty, which fails even that last chance check,
going to the really really last chance code, allowing any online
cpu to tasks in that cpuset?
These questions are in addition to my earlier question:
Why don't you need to propogate upward this change to
the parents cpus_allowed and isolated_map? If a parents
isolated_map grows (or shrinks), doesn't that affect every
ancestor, all the way to the top cpuset?
I am unable to tell, just from code reading, whether this code
has adequately worked through the details involved in properly
handling nested changes.
I am unable to build or test this on ia64, because you have code
such as the rebuild_sched_domains() routine, that is in the
'#else' half of a very large "#ifdef ARCH_HAS_SCHED_DOMAIN -
#else - #endif" section of kernel/sched.c, and ia64 arch (and
only that arch, so far as I know) defines ARCH_HAS_SCHED_DOMAIN,
so doesn't see this '#else' half.
+ /*
+ * If current isolated cpuset has isolated children
+ * disallow changes to cpu mask
+ */
+ if (!cpus_empty(cs->isolated_map))
+ return -EBUSY;
1) spacing - there's 8 spaces, not a tab, on two of the lines above.
2) I can't tell yet - but I am curious as to whether the above restriction
prohibiting cpu mask changes to a cpuset with isolated children
might be a bit draconian.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@engr.sgi.com> 1.650.933.1373, 1.925.600.0401
prev parent reply other threads:[~2005-04-23 3:15 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-07 0:51 [RFC PATCH] scheduler: Dynamic sched_domains Matthew Dobson
2004-10-07 2:13 ` Nick Piggin
2004-10-07 17:01 ` Jesse Barnes
2004-10-08 5:55 ` [Lse-tech] " Takayoshi Kochi
2004-10-08 6:08 ` Nick Piggin
2004-10-08 16:43 ` Jesse Barnes
2004-10-07 21:58 ` Matthew Dobson
2004-10-08 0:22 ` Nick Piggin
2004-10-07 22:20 ` Matthew Dobson
2004-10-07 4:12 ` [ckrm-tech] " Marc E. Fiuczynski
2004-10-07 5:35 ` Paul Jackson
2004-10-07 22:06 ` Matthew Dobson
2004-10-07 9:32 ` Paul Jackson
2004-10-08 10:14 ` [Lse-tech] " Erich Focht
2004-10-08 10:40 ` Nick Piggin
2004-10-08 15:50 ` [ckrm-tech] " Hubertus Franke
2004-10-08 22:48 ` Matthew Dobson
2004-10-08 18:54 ` Matthew Dobson
2004-10-08 21:56 ` Peter Williams
2004-10-08 22:52 ` Matthew Dobson
2004-10-08 23:13 ` Erich Focht
2004-10-08 23:50 ` Nick Piggin
2004-10-10 12:25 ` Erich Focht
2004-10-08 22:51 ` Erich Focht
2004-10-09 1:05 ` Matthew Dobson
2004-10-10 12:45 ` Erich Focht
2004-10-12 22:45 ` Matthew Dobson
2004-10-08 18:45 ` Matthew Dobson
2005-04-18 20:26 ` [RFC PATCH] Dynamic sched domains aka Isolated cpusets Dinakar Guniguntala
2005-04-18 23:44 ` Nick Piggin
2005-04-19 8:00 ` Dinakar Guniguntala
2005-04-19 5:54 ` Paul Jackson
2005-04-19 6:19 ` Nick Piggin
2005-04-19 6:59 ` Paul Jackson
2005-04-19 7:09 ` Nick Piggin
2005-04-19 7:25 ` Paul Jackson
2005-04-19 7:28 ` Paul Jackson
2005-04-19 7:19 ` Paul Jackson
2005-04-19 7:57 ` Nick Piggin
2005-04-19 20:34 ` Paul Jackson
2005-04-23 23:26 ` Paul Jackson
2005-04-26 0:52 ` Matthew Dobson
2005-04-26 0:59 ` Paul Jackson
2005-04-19 9:52 ` Dinakar Guniguntala
2005-04-19 15:26 ` Paul Jackson
2005-04-20 7:37 ` Dinakar Guniguntala
2005-04-19 20:42 ` Paul Jackson
2005-04-19 8:12 ` Simon Derr
2005-04-19 16:19 ` Paul Jackson
2005-04-19 9:34 ` [Lse-tech] " Dinakar Guniguntala
2005-04-19 17:23 ` Paul Jackson
2005-04-20 7:16 ` Dinakar Guniguntala
2005-04-20 19:09 ` Paul Jackson
2005-04-21 16:27 ` Dinakar Guniguntala
2005-04-22 21:26 ` Paul Jackson
2005-04-23 7:24 ` Dinakar Guniguntala
2005-04-23 22:30 ` Paul Jackson
2005-04-25 11:53 ` Dinakar Guniguntala
2005-04-25 14:38 ` Paul Jackson
2005-04-21 17:31 ` [RFC PATCH] Dynamic sched domains aka Isolated cpusets (v0.2) Dinakar Guniguntala
2005-04-22 18:50 ` Paul Jackson
2005-04-22 21:37 ` Paul Jackson
2005-04-23 3:11 ` Paul Jackson [this message]
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=20050422201145.2516a326.pj@sgi.com \
--to=pj@sgi.com \
--cc=Simon.Derr@bull.net \
--cc=akpm@osdl.org \
--cc=colpatch@us.ibm.com \
--cc=dino@in.ibm.com \
--cc=dipankar@in.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=nickpiggin@yahoo.com.au \
/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