[LAD] rtirq script is broken with 2.6.31

Rui Nuno Capela rncbc at rncbc.org
Thu Aug 6 20:35:50 UTC 2009


Robin Gareus wrote:
> Hi Rui et al,
> 
> I just found that recent kernel development (merging IRQ threads into
> mainline) breaks the "rtirq" setup script. Basically rtirq does nothing.
> 
> The command to get the PID
>  PIDS=`ps -eo pid,comm | egrep "IRQ.${IRQ}\$" | awk '{print $1}'`
> (rtirq line 120) does no longer work since the IRQ process names have
> changed.
> 
> I've quickly changed it to
>   PIDS=`ps -eo pid,comm | egrep "irq\/${IRQ}-" | awk '{print $1}'`
> and it sets the priorities again, but that's not correct since it also
> raises priority of other drivers on the same IRQ..
> 
> Similarly `rtirq status` returns nothing. I've checked with:
> `ps -ewo pid,class,rtprio,ni,pri,pcpu,stat,comm --sort -rtprio`
> instead.
> 
> It looks like a new set of regexps for rtirq is in order ;)
> 

of course. it happens all the time the rt-preempt devs make their way it
happened before it will happen again. world is turning :)

this issue on 2.6.31-rt has been already reported privately and i'll get
to it as soon i get back home from vacation. meanwhile, it really looks
like a regex trickery is all that's needed, keeping in mind that
backward compability with pre-2.6.31-rt kernels is in order (eg. i do
still run on 2.56.29.5-rt22 for which the current rtirq script is
perfect, of course)

as a quick suggestion, try this for instance (re. line 120):
  PIDS=`ps -eo pid,comm | egrep "(IRQ.${IRQ}|irq\/${IRQ}\-.+)\$" | awk
'{print $1}'`

> 
> This is
> Linux soyuz 2.6.31-rc5-rt1.1 #1 SMP PREEMPT RT Wed Aug 5 23:06:21 CEST
> 2009 i686 GNU/Linux
> 
> # ps -eo pid,comm  | grep -i irq
>     4 sirq-high/0
>     5 sirq-timer/0
>     6 sirq-net-tx/0
>     7 sirq-net-rx/0
>     8 sirq-block/0
>     9 sirq-tasklet/0
>    10 sirq-sched/0
>    11 sirq-hrtimer/0
>    12 sirq-rcu/0
>   149 irq/9-acpi
>   495 irq/14-ata_piix
>   496 irq/15-ata_piix
>   506 irq/16-yenta
>   526 irq/12-i8042
>   527 irq/1-i8042
>  1418 irq/8-rtc0
>  1428 irq/19-ehci_hcd
>  1446 irq/16-uhci_hcd
>  1447 irq/17-uhci_hcd
>  1450 irq/18-uhci_hcd
>  1452 irq/19-uhci_hcd
>  1544 irq/29-iwl3945
> 22591 sirq-high/1
> 22592 sirq-timer/1
> 22593 sirq-net-tx/1
> 22594 sirq-net-rx/1
> 22595 sirq-block/1
> 22596 sirq-tasklet/1
> 22597 sirq-sched/1
> 22598 sirq-hrtimer/1
> 22599 sirq-rcu/1
> 22609 irq/17-HDA Inte
> 22610 irq/17-ohci1394
> 22952 irq/16-i915 at pci
> 22968 irq/28-eth1
> 
> Yes I'm also baffled at the high PIDs for IRQs. I hazard a guess that
> those are a result of a suspend/resume cycle; and I'll check later if
> the chrt settings do persist after a suspend/resume.
> 
> so long,
> robin

cheers
-- 
rncbc aka Rui Nuno Capela
rncbc at rncbc.org



More information about the Linux-audio-dev mailing list