An interesting article on how Linux initially dealt with running on MP systems:

Just so you know, NT has always had fine-grained locks and the kernel has scaled very well to very large MP systems. So stop bashing Windows, and uninstall Linux.
Posted on 2006-06-18 22:45:30 by comrade
comrade, the keyword is "article on how Linux initially dealt with running on MP systems"...

That article is outdated and it's exaggerates things by quite a lot. Nowadays BKLs are not used that much, mostly because a great effort has been put lately into reducing their usage. Most of BKLs in latency crucial places have been eliminated.

Also the MP overhead mentioned in the article is hardly a kernel fault. A lot of software developers still use outdated techniques for MP programming, simply because it's an easiest way (much easier than implementing a custom synchronization mechanism) or they don't know any better and got used to lock_kernel() from the old days when it was the only way.

IIIRC there were also some patch for BKL, making it to use semaphore driven method and allowing full preemption, thus reducing the overhead significantly.
Not sure what the current status of the patch. Maybe it even got into the main kernel tree...

I am not even mentioning the fact that you could manually remove/change those locking mechanisms, as well as other parts of the kernel, to something more appropriate for a given task. Resulting in no less fine-grained system than Windows and sometimes even more.

So stop bashing Linux and use whatever suits you best.
Posted on 2006-06-19 09:10:20 by arafel
Drop the zealotry altogether. Use what you like... use what works... or find a compromise between the two :)
Posted on 2006-06-19 15:04:25 by SpooK