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]

Reply via email to