Re: [RFC][PATCH 0/5] Signal scalability series

Matt Fleming
2011-10-04T08:20:26Z

On Tue, 2011-10-04 at 00:13 +0200, Thomas Gleixner wrote:
>
> After staring a bit at your patch I think that you need to tackle that
> from a different angle.
>
> The main nuisance of sighand->siglock is the exit race protection and
> that's why we need to take it for evrything and some more.

Right.

> In order to distangle the posix-(cpu)-timer and other stuffs
> protection from that single lock, you need to introduce "independent"
> locks which basically do the same dance as lock_task_sighand() does
> and have to be taken in the exit() path in a well defined order before
> manipulating task->sighand.

Yeah, I've been trying to avoid changing the tsk->sighand stuff (you'll
notice that lock_task_sighand() still works as before in this patch
series) because when I've attempted it before it has always resulted in
much more complicated code (and coming from me, that's saying
something!).

> That way you still cover the exit races, but you can break up the
> locking for particular subsystems w/o the need of (much) nesting.

Yeah, that approach seems interesting. I'll have a look at that, thanks!

--
Matt Fleming, Intel Open Source Technology Center