Re: [PATCH 6/6] Makes procs file writable to move all threads by tgid at once

Paul Menage
2009-08-06T11:40:46Z

On Thu, Aug 6, 2009 at 4:24 AM, Louis Rilling<Louis.Rilling@kerlabs.com> wrote:
>
> You meant signal_struct, right? sighand_struct can be shared by several
> thread groups, while signal_struct can't.
>

No, I meant sighand_struct. I realise that it *can* be shared between
processes, but I didn't think that NPTL actually did so. (Are there
common cases of this happening?) And in cases where it was shared, it
wouldn't affect correctness, but simply create the potential for a
little more contention.

I agree that signal_struct might in principle be a better place for
it, but the first cacheline of signal_struct appears to be occupied
with performance-sensitive things (a couple of counters and a queue
used in do_wait()) already, whereas the first cacheline of
sighand_struct only appears to be used incremented/decremented during
fork/exit, and when delivering a bunch of mostly-fatal signals.

But having said that, if having it in signal_struct isn't considered a
potential performance hit, it would be fine there too.

Paul