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