[LAU] 2.6.39.1 threadirqs vs. the rest: some numbers

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Tue Jun 14 00:38:11 UTC 2011


Hi all,

I just built a threaded-irqs enabled 2.6.39.1 kernel and used cyclictest 
to try to get an initial feeling of how good it might be. Cyclictest 
tests scheduling delays of the kernel it is running on[*]. These tests 
were run on a Fedora 13 T510 Lenovo laptop, with the ugly binary Nvidia 
driver (caveat emptor).

In the menu:

   2.6.39.1 with threaded irqs and PREEMPT active
   2.6.33.13-rt31
   2.6.34.8-rt31 (a forward port of rt31 to 2.6.34)
   plain Fedora kernel (2.6.34.8-68.fc13.i686.PAE)

Now, before someone points it out, this is just a synthetic test that 
measures scheduling latency, not a real audio application.

See below for details... (look at the "Avg:" and "Max:" latency values, 
those are in microseconds)

Unless I have done something wrong, it looks like we have a long way to 
go with regards to scheduling latency in anything other than 2.6.33 + rt 
patches. But, with threaded irqs in 2.6.39 maybe the performance with 
audio applications running under jack will be good anyway as we will be 
able to tune irq processing. Seems to me unlikely. I have not tested 
that yet.

Tests were done after a clean reboot, initially with the machine idle 
and then while loading thunderbird with tons of emails and firefox with 
tons of pages. No audio work.

YMMV...
-- Fernando

[*] https://rt.wiki.kernel.org/index.php/RT_PREEMPT_HOWTO


----------------------------------------------------------------------
LENOVO T510

----------------------------------------------------------------------
2.6.33.13-149.rt31.2.fc13.ccrma.i686.rtPAE
----------------------------------------------------------------------

$ while true ; do ./cyclictest -t1 -p 80 -n -i 10000 -l 10000 ; done
policy: fifo: loadavg: 0.02 0.20 0.11 1/405 7024

T: 0 ( 7024) P:80 I:10000 C:  10000 Min:      3 Act:   75 Avg:   54 Max: 
     121
policy: fifo: loadavg: 0.08 0.17 0.10 2/405 7027

T: 0 ( 7026) P:80 I:10000 C:  10000 Min:      3 Act:   73 Avg:   75 Max: 
     126
policy: fifo: loadavg: 0.01 0.12 0.09 1/405 7029

T: 0 ( 7029) P:80 I:10000 C:  10000 Min:      3 Act:   90 Avg:   49 Max: 
     141
policy: fifo: loadavg: 0.37 0.21 0.12 1/405 7031

T: 0 ( 7031) P:80 I:10000 C:  10000 Min:      4 Act:   70 Avg:   76 Max: 
     148
policy: fifo: loadavg: 0.27 0.21 0.12 1/405 7033

T: 0 ( 7033) P:80 I:10000 C:  10000 Min:      4 Act:   46 Avg:   73 Max: 
     144
policy: fifo: loadavg: 0.15 0.20 0.12 1/405 7035

T: 0 ( 7035) P:80 I:10000 C:  10000 Min:      3 Act:   90 Avg:   77 Max: 
     142
policy: fifo: loadavg: 0.07 0.15 0.11 2/405 7037

T: 0 ( 7037) P:80 I:10000 C:  10000 Min:      3 Act:   16 Avg:   71 Max: 
     135
policy: fifo: loadavg: 0.05 0.12 0.10 1/405 7040

T: 0 ( 7039) P:80 I:10000 C:  10000 Min:      3 Act:   84 Avg:   72 Max: 
     142
policy: fifo: loadavg: 0.01 0.08 0.08 1/405 7042

T: 0 ( 7042) P:80 I:10000 C:  10000 Min:      3 Act:  105 Avg:   51 Max: 
     146
policy: fifo: loadavg: 0.00 0.05 0.07 1/406 7045

T: 0 ( 7044) P:80 I:10000 C:  10000 Min:      4 Act:   11 Avg:   50 Max: 
     121
policy: fifo: loadavg: 0.07 0.06 0.07 1/406 7047

T: 0 ( 7047) P:80 I:10000 C:  10000 Min:      2 Act:   73 Avg:   76 Max: 
     140
policy: fifo: loadavg: 0.01 0.04 0.06 1/406 7049

T: 0 ( 7049) P:80 I:10000 C:  10000 Min:      3 Act:   67 Avg:   70 Max: 
     137
policy: fifo: loadavg: 0.02 0.04 0.06 1/406 7051

T: 0 ( 7051) P:80 I:10000 C:   9573 Min:      3 Act:   68 Avg:   47 Max: 
     146
policy: fifo: loadavg: 0.02 0.04 0.06 1/406 7053

----------------------------------------------------------------------
2.6.34.8-68.fc13.i686.PAE
----------------------------------------------------------------------

$ while true ; do ./cyclictest -t1 -p 80 -n -i 10000 -l 10000 ; sleep 
10; done
policy: fifo: loadavg: 0.20 0.33 0.15 1/298 2559

T: 0 ( 2521) P:80 I:10000 C:  10000 Min:      3 Act:   12 Avg:   36 Max: 
     354
policy: fifo: loadavg: 0.34 0.30 0.16 1/332 2676

T: 0 ( 2583) P:80 I:10000 C:  10000 Min:      3 Act:   12 Avg:   31 Max: 
    1749
policy: fifo: loadavg: 0.39 0.38 0.20 1/350 2835

T: 0 ( 2726) P:80 I:10000 C:  10000 Min:      2 Act:    9 Avg:   33 Max: 
   12861
policy: fifo: loadavg: 0.11 0.29 0.18 2/350 2839

T: 0 ( 2838) P:80 I:10000 C:  10000 Min:      3 Act:   12 Avg:   43 Max: 
     133
policy: fifo: loadavg: 0.02 0.19 0.16 1/348 2842

T: 0 ( 2842) P:80 I:10000 C:  10000 Min:      4 Act:   75 Avg:   48 Max: 
   17789
policy: fifo: loadavg: 0.07 0.15 0.14 1/347 2858

T: 0 ( 2845) P:80 I:10000 C:  10000 Min:      4 Act:   56 Avg:   50 Max: 
    1808
policy: fifo: loadavg: 0.18 0.15 0.14 1/347 2861

T: 0 ( 2861) P:80 I:10000 C:  10000 Min:      3 Act:   11 Avg:   52 Max: 
     187
policy: fifo: loadavg: 0.34 0.19 0.15 1/345 2864

T: 0 ( 2864) P:80 I:10000 C:  10000 Min:      4 Act:   69 Avg:   46 Max: 
     119
policy: fifo: loadavg: 0.39 0.28 0.19 1/346 2869

T: 0 ( 2867) P:80 I:10000 C:  10000 Min:      3 Act:   14 Avg:   27 Max: 
     361
policy: fifo: loadavg: 0.10 0.20 0.17 1/347 2875

T: 0 ( 2872) P:80 I:10000 C:  10000 Min:      4 Act:   14 Avg:   31 Max: 
     425
policy: fifo: loadavg: 0.01 0.13 0.15 1/346 2882

T: 0 ( 2879) P:80 I:10000 C:  10000 Min:      4 Act:   58 Avg:   55 Max: 
     186
policy: fifo: loadavg: 0.09 0.12 0.13 1/346 2887

T: 0 ( 2885) P:80 I:10000 C:  10000 Min:      4 Act:   67 Avg:   50 Max: 
     129
policy: fifo: loadavg: 0.10 0.12 0.13 1/347 2890

----------------------------------------------------------------------
2.6.39.1-1.threadirqs.1.fc14.ccrma.i686.PAE
----------------------------------------------------------------------

$ while true ; do ./cyclictest -t1 -p 80 -n -i 10000 -l 10000 ; sleep 
10; done
policy: fifo: loadavg: 0.13 0.25 0.12 1/290 2279

T: 0 ( 2279) P:80 I:10000 C:  10000 Min:      5 Act:   42 Avg:   45 Max: 
    1015
policy: fifo: loadavg: 0.64 0.36 0.18 1/338 2567

T: 0 ( 2299) P:80 I:10000 C:  10000 Min:      4 Act:   48 Avg:   44 Max: 
    3124
policy: fifo: loadavg: 0.20 0.30 0.18 1/337 2583

T: 0 ( 2571) P:80 I:10000 C:  10000 Min:      3 Act:   43 Avg:   50 Max: 
   10301
policy: fifo: loadavg: 0.07 0.22 0.16 2/341 2592

T: 0 ( 2586) P:80 I:10000 C:  10000 Min:      5 Act:   30 Avg:   46 Max: 
   15227
policy: fifo: loadavg: 0.48 0.33 0.21 3/340 2602

T: 0 ( 2595) P:80 I:10000 C:  10000 Min:      4 Act:    7 Avg:   29 Max: 
     992
policy: fifo: loadavg: 0.17 0.28 0.21 1/340 2613

T: 0 ( 2610) P:80 I:10000 C:  10000 Min:      3 Act:   15 Avg:   32 Max: 
      99
policy: fifo: loadavg: 0.34 0.27 0.21 4/346 2660

T: 0 ( 2616) P:80 I:10000 C:  10000 Min:      3 Act:   14 Avg:   36 Max: 
    1326
policy: fifo: loadavg: 0.14 0.25 0.22 2/342 2680

T: 0 ( 2665) P:80 I:10000 C:  10000 Min:      3 Act:   14 Avg:   38 Max: 
     709
policy: fifo: loadavg: 0.18 0.24 0.22 1/342 2687

T: 0 ( 2683) P:80 I:10000 C:  10000 Min:      4 Act:   17 Avg:   44 Max: 
   17692
policy: fifo: loadavg: 0.15 0.23 0.22 1/343 2690

----------------------------------------------------------------------
2.6.34.8-68.rt0.3.fc13.ccrma.i686.rtPAE
----------------------------------------------------------------------

while true ; do ./cyclictest -t1 -p 80 -n -i 10000 -l 10000 ; sleep 10; done
policy: fifo: loadavg: 0.19 0.30 0.13 1/355 2561

T: 0 ( 2542) P:80 I:10000 C:  10000 Min:      3 Act:   27 Avg:   33 Max: 
     143
policy: fifo: loadavg: 0.03 0.20 0.11 1/354 2565

T: 0 ( 2564) P:80 I:10000 C:  10000 Min:      6 Act:   15 Avg:   55 Max: 
     135
policy: fifo: loadavg: 0.53 0.27 0.14 3/401 2780

T: 0 ( 2568) P:80 I:10000 C:  10000 Min:      3 Act:    9 Avg:   21 Max: 
     134
policy: fifo: loadavg: 0.50 0.39 0.20 1/405 2899

T: 0 ( 2869) P:80 I:10000 C:  10000 Min:      3 Act:   66 Avg:   36 Max: 
     119
policy: fifo: loadavg: 0.13 0.28 0.18 1/404 2902

T: 0 ( 2902) P:80 I:10000 C:  10000 Min:      3 Act:   48 Avg:   31 Max: 
     116
policy: fifo: loadavg: 0.10 0.27 0.17 1/405 2905



More information about the Linux-audio-user mailing list