Messages in this thread | | | Date | Mon, 3 Aug 2009 18:11:01 -0700 | Subject | Re: [PATCH 6/6] Makes procs file writable to move all threads by tgid at once | From | Benjamin Blum <> |
| |
On Mon, Aug 3, 2009 at 6:05 PM, Paul Menage<menage@google.com> wrote: > On Mon, Aug 3, 2009 at 5:56 PM, Benjamin Blum<bblum@google.com> wrote: >> No, the idea is that even though we had a reference that we already >> dropped, we in effect "traded" the newcg to the task for its oldcg, >> giving it our reference on newcg and gaining its reference on oldcg. I >> believe the cgroup_mutex guarantees that it'll still be there when we >> do the trade - perhaps a BUG_ON(tsk->cgroups != oldcg) is wanted >> inside the second task_lock section there? > > I don't think that's safe, since the task could exit and drop its > reference (and switch to init_css_set).
Yes, but while holding the task's lock while trading the pointers we first do a PF_EXITING check, so it can't have gone away if we successfully traded.
>>> >>> I think it's more intuitive to return 1 if found and 0 if not found. >> >> I was sticking with the convention of nonzero return values indicating >> failure, as is used everywhere else in this context. >> > > Make it a bool, so that it's intuitively more obvious that true==success?
ok.
| |