Re: High contention on the sk_buff_head.lock

From: Sven-Thorsten Dietrich
Date: Wed Mar 18 2009 - 21:20:34 EST


On Wed, 2009-03-18 at 18:03 -0700, David Miller wrote:
> From: Gregory Haskins <ghaskins@xxxxxxxxxx>
> Date: Wed, 18 Mar 2009 17:54:04 -0400
>
> > Note that -rt doesnt typically context-switch under contention anymore
> > since we introduced adaptive-locks. Also note that the contention
> > against the lock is still contention, regardless of whether you have -rt
> > or not. Its just that the slow-path to handle the contended case for
> > -rt is more expensive than mainline. However, once you have the
> > contention as stated, you have already lost.
>
> First, contention is not implicitly a bad thing.
>

Its a bad thing when it does not scale.

> Second, if the -rt kernel is doing adaptive spinning I see no
> reason why that adaptive spinning is not kicking in here to
> make this problem just go away.
>

If only the first of N contending threads gets to spin, 2..N would
context-switch.


> This lock is held for mere cycles, just to unlink an SKB from
> the networking qdisc, and then it is immediately released.

For very short hold times, and heavy contention, as well as for
scalability, the solution may lie in tunable spinner-count and adaptive
spinner time-out.

Sven

> --
> To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/