[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100330172650.GJ2513@linux.vnet.ibm.com>
Date: Tue, 30 Mar 2010 10:26:50 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Matt Helsley <matthltc@...ibm.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
linux-kernel@...r.kernel.org, mingo@...e.hu, laijs@...fujitsu.com,
dipankar@...ibm.com, akpm@...ux-foundation.org,
mathieu.desnoyers@...ymtl.ca, josh@...htriplett.org,
dvhltc@...ibm.com, niv@...ibm.com, tglx@...utronix.de,
rostedt@...dmis.org, Valdis.Kletnieks@...edu, dhowells@...hat.com,
eric.dumazet@...il.com, abogani@...ware.it, menage@...gle.com,
lizf@...fujitsu.com, containers@...ts.linux-foundation.org
Subject: Re: [PATCH tip/core/urgent] rcu: protect fork-time cgroup access
On Tue, Mar 30, 2010 at 02:32:04AM -0700, Matt Helsley wrote:
> > On Mon, Mar 29, 2010 at 11:42:55PM +0200, Peter Zijlstra wrote:
> > > On Mon, 2010-03-29 at 14:34 -0700, Paul E. McKenney wrote:
> > >
> > > > And it appears that my patch is at best insufficient:
> > > > http://paste.ubuntu.com/406189/
> > > >
> > > > Left to myself, I would wrap copy_process() with rcu_read_lock(),
> > > > but I would rather hear your thoughts before doing too much more
> > > > semi-random hacking. ;-)
> > >
> > > Well, I don't think you can get away with that, copy_process() wants to
> > > sleep on quite a few places ;-) Also, locks should be taken at the
> > > smallest possible scope, unless we want to go back to BKL style
> > > locking :-)
> >
> > No argument here! ;-)
> >
> > > As to that freezer splat, you'd have to chase down the cgroup folks, I'm
> > > fully ignorant on that.
> >
> > K, adding them to CC. The two splats are:
> >
> > http://pastebin.ubuntu.com/406131/
> > http://paste.ubuntu.com/406189/
>
> Please feel free to Cc me on cgroup freezer stuff.
>
> There's a comment in the code explaining why it's not used in freezer_fork():
>
> /*
> * No lock is needed, since the task isn't on tasklist yet,
> * so it can't be moved to another cgroup, which means the
> * freezer won't be removed and will be valid during this
> * function call.
> */
> freezer = task_freezer(task);
Good to know, thank you!
So the cgroup that this task is associated with cannot be deleted in
the meantime?
Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists