Messages in this thread | | | Date | Tue, 23 Mar 2010 11:57:07 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH -mm 3/3] proc: make task_sig() lockless |
| |
On 03/23, David Howells wrote: > > Oleg Nesterov <oleg@redhat.com> wrote: > > > task_sig() doesn't need ->siglock. > > Except that the data returned might then be inconsistent because you don't > hold a lock as you read the various bits of it.
Yes. From the changelog:
Of course, this means we read pending/blocked/etc nonatomically, but I hope this is OK for fs/proc.
But I don't think the returned data could be "really" inconsistent from the /bin/ps pov. Yes, it is possible that, say, some signal is seen as both pending and ignored without ->siglock. Or we can report user->sigpending != 0 while pending/shpending are empty.
But this looks harmless to me. We never guaranteed /proc/pid/status can't report the "intermediate" state, and I don't think we can confuse the user-space.
Do you agree? Or do you think this can make problems ?
Oleg.
| |