This is a demonstration of the dispqlen.d script,


Here we run it on a single CPU desktop,

   # dispqlen.d
   Sampling... Hit Ctrl-C to end.
   ^C
    CPU 0
              value  ------------- Distribution ------------- count
                < 0 |                                         0
                  0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    1790
                  1 |@@@                                      160
                  2 |                                         10
                  3 |                                         0

The output shows the length of the dispatcher queue is mostly 0. This is
evidence that the CPU is not very saturated. It does not indicate that the
CPU is idle - as we are measuring the length of the queue, not what is
on the CPU.



Here it is run on a multi CPU server,

   # dispqlen.d
   Sampling... Hit Ctrl-C to end.
   ^C
    CPU 1
              value  ------------- Distribution ------------- count
                < 0 |                                         0
                  0 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@          1573
                  1 |@@@@@@@@@                                436
                  2 |                                         4
                  3 |                                         0
   
    CPU 4
              value  ------------- Distribution ------------- count
                < 0 |                                         0
                  0 |@@@@@@@@@@@@@@@@@@@@@@                   1100
                  1 |@@@@@@@@@@@@@@@@@@                       912
                  2 |                                         1
                  3 |                                         0
   
    CPU 0
              value  ------------- Distribution ------------- count
                < 0 |                                         0
                  0 |@@@@@@@@@@@@@@@@@                        846
                  1 |@@@@@@@@@@@@@@@@@@@@@@@                  1167
                  2 |                                         0
   
    CPU 5
              value  ------------- Distribution ------------- count
                < 0 |                                         0
                  0 |@@@@@@@@                                 397
                  1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@          1537
                  2 |@@                                       79
                  3 |                                         0

The above output shows that threads are queueing up on CPU 5 much more than
CPU 0. 

