There were numerous bugs in the SCHED_ISO design prior to now, so it really was not performing as expected. What is most interesting is that the DSP load goes to much higher levels now if xruns are avoided and stay at those high levels. If I push the cpu load too much so that they get transiently throttled from SCHED_ISO, after the Xrun the dsp load drops to half. Is this expected behaviour?
Anyway the next patch works well in my environment. Jack, while I realise you're getting the results you want from Ingo's dropped privilege, dropped cpu limit patch I would appreciate you testing this patch. It is not clear yet what direction we will take, but even if we dont do this, it would be nice just because of the effort on my part.
This version of the patch has full priority support and both ISO_RR and ISO_FIFO.
This is the patch to apply to 2.6.11-rc2-mm1:
http://ck.kolivas.org/patches/SCHED_ISO/2.6.11-rc2-mm1/2.6.11-rc2-mm1-iso-prio-fifo.diff
Just for completeness, benchmarks: logs and pretty pictures: http://ck.kolivas.org/patches/SCHED_ISO/iso3-benchmarks/
SCHED_ISO: Total seconds ran . . . . . . : 300 Number of clients . . . . . . : 10 Ports per client . . . . . . : 4 Frames per buffer . . . . . . : 64 Number of runs . . . . . . . :( 3) Timeout Count . . . . . . . . :( 0) XRUN Count . . . . . . . . . : 0 Delay Count (>spare time) . . : 0 Delay Count (>1000 usecs) . . : 0 Delay Maximum . . . . . . . . : 150 usecs Cycle Maximum . . . . . . . . : 725 usecs Average DSP Load. . . . . . . : 32.3 % Average CPU System Load . . . : 6.0 % Average CPU User Load . . . . : 33.6 % Average CPU Nice Load . . . . : 0.0 % Average CPU I/O Wait Load . . : 0.1 % Average CPU IRQ Load . . . . : 0.1 % Average CPU Soft-IRQ Load . . : 0.0 % Average Interrupt Rate . . . : 1758.9 /sec Average Context-Switch Rate . : 9208.7 /sec
and SCHED_ISO in the presence of continuous compile:
Total seconds ran . . . . . . : 300 Number of clients . . . . . . : 10 Ports per client . . . . . . : 4 Frames per buffer . . . . . . : 64 Number of runs . . . . . . . :( 3) Timeout Count . . . . . . . . :( 0) XRUN Count . . . . . . . . . : 0 Delay Count (>spare time) . . : 0 Delay Count (>1000 usecs) . . : 0 Delay Maximum . . . . . . . . : 375 usecs Cycle Maximum . . . . . . . . : 726 usecs Average DSP Load. . . . . . . : 35.8 % Average CPU System Load . . . : 15.1 % Average CPU User Load . . . . : 82.9 % Average CPU Nice Load . . . . : 0.0 % Average CPU I/O Wait Load . . : 1.8 % Average CPU IRQ Load . . . . : 0.2 % Average CPU Soft-IRQ Load . . : 0.0 % Average Interrupt Rate . . . : 1772.6 /sec Average Context-Switch Rate . : 9565.2 /sec
Cheers, Con
signature.asc
Description: OpenPGP digital signature