Hmmm... We have a problem...
Iain Sandoe
iain at sandoe.co.uk
Sat Jul 15 11:55:10 EST 2000
In making sense of the output of some audio latency tests (see my Linux page
for details), it has become apparent that LinuxPPC (currently) has a very
significant problem with IRQ blocking.
A couple of weeks ago I got some code from Jun Sun which profiles IRQ
blocking latency and put it onto linux-pmac-stable (17pre7) and -benh
(17pre10-ben1).
However, at the time I had not read my PPC750 manual (bad boy) and thought
that the VEA timebase clocked at the processor rate (in my case 300 MHz).
Not so - it clocks at 1/4 of the bus rate (in the case of my machine
somewhere around 18 MHz).
So when I reported "no drama - a few at 600 us" this was rubbish...
In fact, the true situation looks like this: (the patch keeps track of the
top 8 IRQ blocking times for the duration you run it)...
interrupt latency test for PPC (8 distinctive entries) :
[...]
log entry : 0
blockingTime : 166671 (9975.3 us)
startFilename : idle.c Line : 301
endFileName : irq.c Line : 267
log entry : 1
blockingTime : 166971 (9993.2 us)
startFilename : idle.c Line : 301
endFileName : softirq.c Line : 63
log entry : 2
blockingTime : 165308 (9893.7 us)
startFilename : softirq.c Line : 65
endFileName : irq.c Line : 267
log entry : 3
blockingTime : 167140 (10003.3 us)
startFilename : softirq.c Line : 65
endFileName : softirq.c Line : 63
log entry : 4
blockingTime : 114105 (6829.2 us)
startFilename : irq.c Line : 273
endFileName : irq.c Line : 267
log entry : 5
blockingTime : 1884383 (112780.5 us)
startFilename : bmac.c Line : 1231
endFileName : bmac.c Line : 1252
log entry : 6
blockingTime : 6790 (406.4 us)
startFilename : ll_rw_blk.c Line : 167
endFileName : ll_rw_blk.c Line : 179
log entry : 7
blockingTime : 164597 (9851.1 us)
startFilename : irq.c Line : 273
endFileName : softirq.c Line : 63
This is *very* grim for audio work... (and probably not too hot for mouse
tracking & games)...
Let's ignore the bmac.c entry (that only happens during start-up).
My problem is that I cannot narrow down the source of the "IRQ Hog"... I
don't know what uses "softirq.c".
I think it probably occurs around every 20 seconds - but I may modify the JS
code to see if I can quantify this better...
My config: 300 MHz G3, 256 Mb ram, All SCSI-UW (Apple SCSI card).
No, dmasound is *not* loaded..
No USB devices - although USB is complied in.
Sorry for the long mail - but you probably want to see this for
yourselves...
I'll re-do the IRQ lat patch for pre10-benh2 tomorrow (too tired tonight -
I'll make a mistake)...
Iain.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list