On Sun, 16 Jan 2005 20:28:24 +0100, Florian Schmidt <mista.tapas(a)gmx.net> wrote:
There is a link on the wiki about setting irq
priorities, but it seems
to be broken. How do I set these? and how do I set SCHED_FIFO for an irq
handler?
Hmm, "irq priorities" are something different from "irq handler
priorities". The former refers to the priorities on the interrupt
controller. Usually messing with these is not needed, especially on RP
kernels, as the top level irq handler routines are very short.
What we want to control is the priority of the bottom half irq handler
which is doing the grunt work. For this, the chrt utility from the
schedutils package is useful..
chrt -f -p 99 `pidof "IRQ 5"`
for example, makes the bottom half irq handler for IRQ 5 run SCHED_FIFO
with a priority of 99. Inspect the output of
cat /proc/interrupts
to see which irq number corresponds to which device..
Use
chrt -p `pidof "IRQ 5"`
to inspect the scheduler classes and priorities for irq's..
This is essentially what Rui's rtirq script does, based on some user input.
Florian, I noticed your wiki was locked. It would be great to get some
of the up to date info up somewhere (mostly the RT preempt stuff). I
was about 1/2 through writing a gentoo how-to when I realized it was
much more generic (and most of this stuff isnt in portage anyway). Is
there a way to sey up the wiki with a generic lad password? The way
the RT stuff (and the kernel in general) has changed and evolved in
the last 6 months seems to say we need a doc for this stuff thats
really living.