Re: Scaling noise

David S. Miller
2003-09-04T04:59:04Z

On Wed, 3 Sep 2003 19:46:08 -0700
Larry McVoy <lm@bitmover.com> wrote:

> Here's the litmus test: list all the locks in the kernel and the locking
> hierarchy. If you, a self claimed genius, can't do it, how can the rest
> of us mortals possibly do it? Quick. You have 30 seconds, I want a list.
> A complete list with the locking hierarchy, no silly awk scripts. You have
> to show which locks can deadlock, from memory.
>
> No list? Cool, you just proved my point.

No point Larry, asking the same question about how the I/O
path works sans the locks will give you the same blank stare.

I absolutely do not accept the complexity argument. We have a fully
scalable kernel now. Do you know why? It's not because we have some
weird genius trolls writing the code, it's because of our insanely
huge testing base.

People give a lot of credit to the people writing the code in the
Linux kernel which actually belongs to the people running the
code. :-)

That's where the other systems failed, all the in-house stress
testing in the world is not going to find the bugs we do find in
Linux. That's why Solaris goes out buggy and with all kinds of
SMP deadlocks, their tester base is just too small to hit all
the important bugs.

FWIW, I actually can list all the locks taken for the primary paths in
the networking, and that's about as finely locked as we can make it.
As can Alexey Kuznetsov...

So again, if you're going to argue against huge SMP (at least to me),
don't use the locking complexity argument. Not only have we basically
conquered it, we've along the way found some amazing ways to find
locking bugs both at runtime and at compile time. You can even debug
them on uniprocessor systems. And this doesn't even count the
potential things we can do with Linus's sparse tool.