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

From: Tejun Heo
Date: Tue Oct 04 2011 - 03:37:55 EST


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.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at