From: Paul Jackson <pj@sgi.com>
To: ebiederm@xmission.com (Eric W. Biederman)
Cc: menage@google.com, rientjes@google.com,
akpm@linux-foundation.org, nickpiggin@yahoo.com.au,
a.p.zijlstra@chello.nl, serue@us.ibm.com, clg@fr.ibm.com,
linux-kernel@vger.kernel.org, svaidy@linux.vnet.ibm.com,
xemul@openvz.org, containers@lists.osdl.org,
balbir@linux.vnet.ibm.com
Subject: Re: [PATCH] task containersv11 add tasks file interface fix for cpusets
Date: Thu, 11 Oct 2007 18:23:59 -0700 [thread overview]
Message-ID: <20071011182359.7d069143.pj@sgi.com> (raw)
In-Reply-To: <m13awhb5mc.fsf@ebiederm.dsl.xmission.com>
> Since we know that the tasks are not running, and that we have
> exclusive access to the tasks in the control group we can take action
> as if we were the actual tasks themselves. Which should simplify
> locking.
The Big Kernel Lock (BKL), born again, as a Medium Sized Cgroup Lock ?
This only simplifies things if it enables us to remove finer grain
locking, but some finer grain locking is essential for performance on
higher processor count systems (which if Intel and AMD have their way,
will be just about any system bigger than a cell phone.)
There is no escaping actually having to think about these things, and
clearly understand and document what locks what. Locks don't just
guard code sections, and they don't just guard particular data items.
Rather, in my view, they ensure certain invariants on your data.
Non-atomic code sections that depend on, or modify, data subject to
such invariants must be done while holding the appropriate lock.
One is guaranteed not to see the invariant violated while holding
the lock, nor to expose others to temporary violations of the invariant
done while locked.
In this case, we have multiple copies of cpumasks in task structs and
cpusets that must honor the invariant that they are equal or subsets
of, cpu_online_map. Changes to the set of online CPUs must hold some
lock, apparently sched_hotcpu_mutex, until all those cpumasks are
adjusted to once again honor, this invariant.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.925.600.0401
next prev parent reply other threads:[~2007-10-12 1:24 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-03 8:42 [PATCH] task containersv11 add tasks file interface fix for cpusets Paul Jackson
2007-10-03 15:51 ` Paul Menage
2007-10-03 17:58 ` Paul Jackson
2007-10-03 18:10 ` Paul Menage
2007-10-03 18:25 ` Paul Menage
2007-10-03 20:16 ` Paul Jackson
2007-10-03 20:31 ` Paul Menage
2007-10-03 20:52 ` Paul Jackson
2007-10-03 20:58 ` Paul Menage
2007-10-06 8:24 ` Paul Jackson
2007-10-06 17:54 ` David Rientjes
2007-10-06 19:59 ` Paul Jackson
2007-10-06 21:09 ` Paul Menage
2007-10-06 21:41 ` Paul Jackson
2007-10-11 22:03 ` Paul Jackson
2007-10-11 23:20 ` Eric W. Biederman
2007-10-12 1:23 ` Paul Jackson [this message]
2007-10-07 6:13 ` David Rientjes
2007-10-06 21:11 ` Paul Menage
2007-10-07 6:15 ` David Rientjes
2007-10-10 20:46 ` Paul Menage
2007-10-10 20:59 ` David Rientjes
2007-10-11 23:15 ` Paul Jackson
2007-10-12 15:13 ` David Rientjes
2007-10-06 20:53 ` Paul Menage
2007-10-03 20:56 ` 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=20071011182359.7d069143.pj@sgi.com \
--to=pj@sgi.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=clg@fr.ibm.com \
--cc=containers@lists.osdl.org \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=menage@google.com \
--cc=nickpiggin@yahoo.com.au \
--cc=rientjes@google.com \
--cc=serue@us.ibm.com \
--cc=svaidy@linux.vnet.ibm.com \
--cc=xemul@openvz.org \
/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