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 7024T: 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 7027T: 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 7029T: 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 7031T: 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 7033T: 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 7035T: 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 7037T: 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 7040T: 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 7042T: 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 7045T: 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 7047T: 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 7049T: 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 7051T: 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 2559T: 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 2676T: 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 2835T: 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 2839T: 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 2842T: 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 2858T: 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 2861T: 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 2864T: 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 2869T: 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 2875T: 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 2882T: 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 2887T: 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 2279T: 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 2567T: 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 2583T: 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 2592T: 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 2602T: 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 2613T: 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 2660T: 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 2680T: 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 2687T: 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 2561T: 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 2565T: 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 2780T: 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 2899T: 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 2902T: 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_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-user
LINUX® is a registered trademark of Linus Torvalds in the USA and other countries.
Linuxaudio.org logo copyright Thorsten Wilms © 2006.
Hosting provided by the Virginia Tech Department of Music and DISIS.