Messages in this thread | | | Date | Wed, 30 Jul 2008 06:04:04 +0400 | From | Pavel Emelyanov <> | Subject | Re: Request for documentation of PID handling functions |
| |
David Howells wrote: > Hi Pavel, > > Can you please provide documentation for the PID handling functions you > supplied in commit: > > 7af5729474b5b8ad385adadab78d6e723e7655a3 > > In particular I'd like to know what locks are required when. I'm trying to > determine if in this piece of code: > > read_lock(&tasklist_lock); > ret = 0; > if (pid != task_pid_vnr(current)) > ret = -EPERM; > read_unlock(&tasklist_lock); > > the lock of tasklist_lock is necessary.
The RCU protection is enough to get pids from tasks. However, the pids are detached under the tasklist lock write-locked, so provided you're *already* sitting under it the RCU is excessive.
However, Oleg pointed me out some time ago, that in some cases RCU-only protection was not enough in some cases, so I put him in Cc.
> David >
| |