Spencer,
Rui said a while ago that he was getting a similar message, until
he tuned the IRQ priorities, but I've been googling around and I
can't figure out how to do it. I tried
chrt -f -p 90 'pidof "IRQ 0"'
as directed on some website, but it just returns
execvp: No such file or directory
failed to execute pidof "IRQ 0"
When I said that I was assuming that you have Ingo Molnar's
realtime-preempt patch, which applies to vanilla 2.6 kernels only (latest
is 2.6.11-rc4). The patch is here:
http://people.redhat.com/~mingo/reatime-preempt/
You can only do that IRQ tunning if you have this kernel configured with
PREEMPT_RT=y (i.e. complete realtime-preemption enabled).
Once you have this up and running, tune the IRQ threads (with chrt) like
this example:
timer: chrt -f -p 90 `pidof "IRQ 0"`
rtc: chrt -f -p 80 `pidof "IRQ 8"`
snd: chrt -f -p 70 `pidof "IRQ 5"`
usb: chrt -f -p 60 `pidof "IRQ 10"`
Please note you must check which IRQ numbers are the appropriate (cat
/proc/interrupts); the above is just an example taken from my laptop,
where the USB controller (ohci_hcd) is on IRQ 10 and the onboard sound is
on IRQ 5. YMMV.
Also you can't change the priority of the timer IRQ thread (IRQ 0)
anymore, because it does not run in a thread. This is not a problem.
Lee