On Wed, Nov 25, 1998 at 12:37:36PM -0800, Ariel Faigon wrote:
> :Linux 2.1.* is very preemtible, even if there are stil some things to
> Interesting. Could you elaborate on:
> 0) What was changed in recent Linux kernels
> to support preemtibility in kernel space?
I think people are confusing the terms reentrant and preemptible.
> 1) Which "serious" (i.e not 'getpid') system calls are
> now reentrant ?
The large majority of the ``small stuff'' is now reentrant, that means
signals, interrupts, stuff like getpid. Many subsystems or structures are
nowadays protected by there own locks and no longer by the big evil
lock-everything kernel lock.
> 2) What still remains to be done so Linux can really
> scale before it gets bottlenecked by kernel locks ?
The big ones which still need a lot of work are
- VFS and lower layers are protected by the big kernel lock.
- bottom half handlers run on only one CPU.
- socket code is protected by the big kernel lock
It's 2.3 work, don't expect it to happen any day soon. If you're
interested in more details, grep the kernel for lock_kernel / unlock_kernel.