This article is appalling in content. Even as a novice to the Linux source code and using threads, it was easy to test some of the statements are find out how false the claims made against Linux in this article. There were 3 claims: 1. Linux does not implement kernel-mode threads but uses user-mode threads instead thus a user-mode thread calling a kernel function that blocks, would also block all threads running in the process. This is simply untrue. When pthread_create is called, a process is created in the kernel for management by the scheduler (clone->execve) but unlike a process, the data and code segments point to the parent process task. A simple example of creating two threads where the first blocks on getchar() while the other does some computing easily shows that the computing gets done and reports back to the parent process while the parent blocks waiting for the first thead to return. 2. The Linux kernel is not reentrant and therefore a multi-processor system must have any kernel calls serialized and handled by one processor. Comments here please? 3. The Linux scheduler cannot preempt the kernel and therefore the scheduler will not context switch to a new process B while running a process A and receiving an interrupt that unblocks B. Comments here please? Terry Arden - Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/ To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]
