Hi, Can some body please confirm my understanding? "Reentrant code" is a piece of code that could be simultaneously running by multiple threads of execution. (either via SMP, or via preemption on uniprocessor machines) "Critical Section" is a piece of code that can be running by only one thread of execution at a time ( If one thread enters critical section on one processor, no other thread will enter critical section, even on another processor). "Atomic Section" is a piece of code that if starts running on a processor, then it can't be preempted untill the atomic section is exited. (it is however possible that the same atomic section is being run simultaneously on a different processor by a different thread). In that sense "Reentrant Code" seems to be just the opposite of "Critical Section". Is this right? Thanks, Dan -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/