VolanoMark 2.1.2 - SGI Lockmeter Data for 2.4.4 and 2.4.4+MQ Scheduler Kernel

Bill Hartner, IBM Linux Technology Center, hartner@austin.ibm.com

The VolanoMark 10/100 loopback test was ran in order to collect SGI lockmeter data for both for the 2.4.4 and 2.4.4+MQ Scheduler kernel.  The 2.4.4 MQ Scheduler patch freed up 4 of the 8 CPUs by creating per processor run queues and spinlocks thus reducing the utilization and spin time for the runqueue_lock.

From the 2.4.4 lockmeter

The (1) runqueue_lock was utilized 76.3 % and spun for 47.4 % for a total of 4.56 of the 8 CPUs.

SPINLOCKS         HOLD            WAIT
  UTIL  CON    MEAN(  MAX )   MEAN(  MAX )(% CPU)     TOTAL NOWAIT SPIN RJECT  NAME

       15.3%  5.9us(  18ms)   47us(9900us)(47.7%)  14686011 84.7% 15.3% 0.00%  *TOTAL*
...
 76.3% 89.2%  8.8us( 183us)   49us(1989us)(47.4%)   2392438 10.8% 89.2%    0%  runqueue_lock
  8.8% 91.8%  8.6us( 144us)   54us( 962us)( 6.3%)    277757  8.2% 91.8%    0%    __wake_up+0x70
 0.01% 60.0%  1.2us(  92us)   19us( 259us)(0.01%)      1241 40.0% 60.0%    0%    deliver_signal+0x58
 0.00% 85.0%  8.6us(  30us)   53us( 248us)(0.00%)        80 15.0% 85.0%    0%    process_timeout+0x14
 0.01% 89.1%  3.7us(  29us)   23us( 165us)(0.00%)       523 10.9% 89.1%    0%    schedule_tail+0x6c
 58.3% 89.3%  9.3us( 183us)   48us(1989us)(33.7%)   1721928 10.7% 89.3%    0%    schedule+0xcc
 0.22% 95.9%  5.9us(  57us)   47us( 606us)(0.21%)     10145  4.1% 95.9%    0%    schedule+0x49c
 0.01% 56.1%  4.0us(  38us)   18us( 150us)(0.00%)       911 43.9% 56.1%    0%    schedule+0x56c
 0.01% 70.4%  1.9us(  27us)   21us( 179us)(0.01%)       804 29.6% 70.4%    0%    setscheduler+0x80
  9.0% 87.2%  6.5us( 182us)   48us( 973us)( 7.2%)    379049 12.8% 87.2%    0%    wake_up_process+0x14

From the 2.4.4+MQ Scheduler lockmeter

The (8) runqueue_locks were utilized 6.85 % and spun for 0.34 % for a total of 0.58 of the 8 CPUs.

SPINLOCKS         HOLD            WAIT
  UTIL  CON    MEAN(  MAX )   MEAN(  MAX )(% CPU)     TOTAL NOWAIT SPIN RJECT  NAME

        2.7%  1.7us(  18ms)  4.7us(3835us)( 1.6%)  13686445 97.3%  2.4% 0.30%  *TOTAL*

Per CPU runqueue_lock :

  8.8%  7.9%  3.8us(  23us)  3.4us(  37us)(0.08%)    281511 92.1%  7.9%    0%  __wake_up+0x8c
 0.01%  6.5%  0.5us( 2.6us)  4.0us(  73us)(0.00%)      1255 93.5%  6.5%    0%  deliver_signal+0xa8
 0.00% 10.0%  4.6us( 9.2us)  1.9us( 3.0us)(0.00%)        30 90.0% 10.0%    0%  process_timeout+0x48
 35.8%  2.6%  2.8us(  40us)  3.7us(  51us)(0.16%)   1583541 97.4%  2.6%    0%  schedule+0x130
 0.75% 24.1%  1.7us(  38us)    0us                    52363 75.9%    0% 24.1%  schedule+0x530
  2.8%    0%  0.2us( 834us)    0us                  1490370  100%    0%    0%  schedule+0xc14
 0.02% 30.4%  3.8us(  13us)  3.7us(  17us)(0.00%)       602 69.6% 30.4%    0%  schedule+0xc9c
 0.00% 85.7%  1.2us( 2.6us)  4.1us( 5.7us)(0.00%)         7 14.3% 85.7%    0%  schedule+0xcf0
 0.01% 0.12%  2.1us( 7.9us)  1.6us( 1.6us)(0.00%)       818 99.9% 0.12%    0%  schedule+0xe4c
 0.00%    0%  0.3us( 8.4us)    0us                      812  100%    0%    0%  schedule_tail+0x24
 0.00%    0%  4.3us( 5.4us)    0us                        6  100%    0%    0%  schedule_tail+0xa4
 0.01% 0.25%  1.3us( 6.3us)  7.7us( 9.1us)(0.00%)       804 99.8% 0.25%    0%  setscheduler+0x104
  6.6%  7.4%  2.2us(  29us)  3.5us(  48us)(0.10%)    355900 92.6%  7.4%    0%  wake_up_process+0x54



Copyright © 2001 IBM Corporation.