Messages in this thread | | | Subject | Re: [PATCH 1/2] break out page allocation warning code | From | Dave Hansen <> | Date | Tue, 19 Apr 2011 19:46:02 -0700 |
| |
On Wed, 2011-04-20 at 11:19 +0900, KOSAKI Motohiro wrote: > > + memcpy(tmp_comm, tsk->comm_buf, TASK_COMM_LEN); > > + tsk->comm = tmp; > > /* > > - * Threads may access current->comm without holding > > - * the task lock, so write the string carefully. > > - * Readers without a lock may see incomplete new > > - * names but are safe from non-terminating string reads. > > + * Make sure no one is still looking at tsk->comm_buf > > */ > > - memset(tsk->comm, 0, TASK_COMM_LEN); > > - wmb(); > > - strlcpy(tsk->comm, buf, sizeof(tsk->comm)); > > + synchronize_rcu(); > > The doc says, > > /** > * synchronize_rcu - wait until a grace period has elapsed.
Yeah, yeah... see "completely untested". :)
I'll see if dropping the locks or something else equally hackish can help.
-- Dave
| |