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

Tejun Heo
2011-10-04T07:37:54Z

Hello,

On Mon, Oct 03, 2011 at 03:56:26PM +0200, Thomas Gleixner wrote:
> > Signal delivery is O(#threads)? Delivery of fatal signal is of course
> > but where do we walk all threads during non-fatal signal deliveries?
> > What am I missing?
>
> Delivery of any process wide signal can result in an O(thread) walk to
> find a valid target. That's true for user space originated and kernel
> space originated (e.g. posix timers) signals.

Ooh, right. Wakeup currently does linear scan of threads, but this is
mostly a separate issue. As Peter suggested, tracking wakeup target
probably is one sane way to solve this.

Do you think siglock would still be a problem even after O(N) problem
is solved? Maybe that would lessen contention enough such that the
locking scope wouldn't matter anymore? Unless breaking up of the
locks results in nice separate hot domains, being finer-grained
doesn't mean much after all.

Thank you.

--
tejun