On 06/28/11 09:38, santosh bhushan wrote:
> In a multiple core m/c with lots of CPUs where does scheduler or dispatcher 
> run ?
> How to debug them ? Do they have too process id like any other application ?

The dispatcher is run on all CPUs; its basically a distributed
algorithm.  There is no process ID associated with it; it's code
executed by all threads going on and off CPU.  There is some
tick processing that's done periodically, but that's a thread.
You can examine that with mdb.  Live debugging of the dispatcher
is best done with DTrace, since most debugging paradigms are focused
on entities (processes, threads) rather than code sections.

Dispatchers are difficult to write if scalability is a constraint;
algorithms or data examined cannot be order #CPUs.

There are some sets of threads that run as a process in the
kernel; zfs has per zpool processes, and nfs does as well,
although the mechanism is different there.

- Bart

-- 
Bart Smaalders                  Solaris Kernel Performance
bart.smaald...@oracle.com       http://blogs.sun.com/barts
"You will contribute more with Mercurial than with Thunderbird."
"Civilization advances by extending the number of important
  operations which we can perform without thinking about them."
_______________________________________________
opensolaris-help mailing list
opensolaris-help@opensolaris.org

Reply via email to