Messages in this thread | | | Date | Fri, 16 May 2008 08:48:40 -0700 | From | Randy Dunlap <> | Subject | Re: [PATCH] Bsdacct: stir up comments around acct_process. |
| |
On Fri, 16 May 2008 14:54:59 +0400 Pavel Emelyanov wrote:
> Fix the one describing what this function is and add one > more - about locking absence around pid namespaces loop. > > Signed-off-by: Pavel Emelyanov <xemul@openvz.org> > > --- > > diff --git a/kernel/acct.c b/kernel/acct.c > index 0feba97..d7b670c 100644 > --- a/kernel/acct.c > +++ b/kernel/acct.c > @@ -657,7 +657,8 @@ static void acct_process_in_ns(struct pid_namespace *ns) > } > > /** > - * acct_process - now just a wrapper around do_acct_process > + * acct_process - now just a wrapper around acct_process_in_ns, > + * which int turn is a wrapper around do_acct_process.
in
> * > * handles process accounting for an exiting task > */ > @@ -665,6 +666,11 @@ void acct_process(void) > { > struct pid_namespace *ns; > > + /* > + * This loop is safe lockless, since current it still
is still
> + * alive and holds its namespace, which in turn holds > + * its parent. > + */ > for (ns = task_active_pid_ns(current); ns != NULL; ns = ns->parent) > acct_process_in_ns(ns); > }
--- ~Randy
| |