Re: [PATCH]sched: Isochronous class v2 for unprivileged soft rt scheduling

From: Con Kolivas
Date: Tue Jan 25 2005 - 09:42:24 EST


Con Kolivas wrote:
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

Attachment: signature.asc
Description: OpenPGP digital signature