"Asynchronous I/O" in Linux
George
jirka at 5z.com
Wed Feb 9 14:41:13 PST 2000
On Wed, Feb 09, 2000 at 05:03:08PM -0500, Nick Bastin wrote:
> Well, I wasn't going to go into SMP design and theory on this mailing
> list. You are correct in that the number of locks, given certain
> implementation considerations, is fairly irrelevant. However,
> Solaris and Linux were both born out of the same general kernel
> architecture, and in that case, parts of the kernel have to block to
> get things done because they're not reentrant. In this situation,
> more locks means less blocking, because you're locking smaller bits
> of execution, rather than huge swathes. Basically, you nail down the
> execution paths where you have to lock, and then rather than locking
> that path once, you find places inside of it where you don't have to
> lock, and you unlock again. In this case, obviously, you get more
> locks, but better threading and scalability.
While the overall architecture is similiar, the internal design is quite
different for both. With the threaded design of linux, it's better off with
fewer locks. Actually from what I gather from the kernel development
discussion it seems that linux has actually reached a point in many places
where finer locks degrade performance. So AFAIK the SMP development is now
looking into where are the bottlenecks rather then going into finer locks.
Solaris has the advantage of having it's SMP be a bigger part of the overall
kernel design and thus they could design more things with it in mind. Linux
didn't have the really advanced SMP stuff until 2.1.x sometime.
George
More information about the KPLUG-List
mailing list