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

Matt Fleming
2011-10-01T10:17:00Z

On Fri, 2011-09-30 at 16:56 -0700, Tejun Heo wrote:
> Hello,
>
> On Fri, Sep 30, 2011 at 09:00:23PM +0100, Matt Fleming wrote:
> > On Fri, 2011-09-30 at 18:52 +0200, Oleg Nesterov wrote:
> > Well, sighand->siglock is seriously overused. It protects so much and I
> > think it's pretty confusing. It took me long enough to figure out how
> > many locks were really needed. But that's beside the point, having a
> > single lock doesn't scale at all, and that's what this series is about.
>
> But scalability for what? What are the use cases here? Do we care
> enough about benefits to those use cases to accept the increased
> complexity? Having locks with broad coverage isn't necessarily evil.
> If things are simpler that way and the protected paths aren't that
> hot, who cares? If splitting the locking makes things simpler, sure
> but that doesn't look like the case here, so we need pretty strong
> rationale to justify the added complexity.

I've Cc'd some -rt folks who have mentioned this bottleneck in the past.

This patch series improves signal delivery scalability. Signals are
still used heavily in legacy rt applications (as I'm hoping the -rt
folks will attest to) and because everything is currently serialiesd
with the per-process siglock, any heavy usage quickly hits that
bottleneck. It's essentially a big-lock for signal delivery within a
process.

I also think Thomas/Peter mentioned something about latency in
delivering timer signals because of contention on the per-process
siglock. They might have some more details on that.

--
Matt Fleming, Intel Open Source Technology Center