[linux-audio-user] USX2Y rawusb revisited

From: Devin Venable <dvenable6@email-addr-hidden>
Date: Sun Apr 23 2006 - 08:14:49 EEST

I'm working to get the best performance I can out of jackd working with
a Tascam US-122. Jack works well with an cheap on-board card
(frames/period 64/latency 2.9 mscec), but not so well with the US-122
(and apparently USB sound cards in general). The best frames/period I
can run it is 1024 with a lot of xruns.

I've got Ingo Molnar's realtime-preempt patch and I'm now attempting to
tune the IRQ threads. (My kernel: 2.6.15.2-rt-50studio) (Using modprobe
snd_usb_usx2y nrpacks=1)

This site describes what I'm trying to do pretty well:
http://tapas.affenbande.org/?page_id=6

I intend to tune the IRQ threads so that the usb-interrupt has highest
priority. Here are some details:

$ lsusb
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 002: ID 1604:8007 Tascam US-122 Audio/Midi Interface
Bus 001 Device 001: ID 0000:0000

$ cat /proc/interrupts
           CPU0 CPU1
  0: 3832051 0 IO-APIC-edge timer
  1: 9522 0 IO-APIC-edge i8042
  7: 1 1 IO-APIC-edge parport0
  8: 0 0 IO-APIC-edge rtc
  9: 0 0 IO-APIC-level acpi
 12: 117589 0 IO-APIC-edge i8042
 14: 104 0 IO-APIC-edge ide0
 50: 614644 0 IO-APIC-level ohci_hcd:usb1
 58: 2 0 IO-APIC-level ehci_hcd:usb2
 66: 2 0 IO-APIC-level ohci1394
217: 400222 0 IO-APIC-level libata, eth0
225: 290168 0 IO-APIC-level libata, NVidia CK804
233: 0 0 IO-APIC-level libata
NMI: 343 202
LOC: 3831594 3831830
ERR: 0
MIS: 0

I've been trying to increase the priority of IRQ 50 (ohci_hcd:usb1) like
so:

$ chrt -f -p 80 `pidof "IRQ 50"`
sched_getscheduler: No such process
failed to get pid 80's policy

It appears I have a problem getting the pidof any IRQ value.

$ echo `pidof "IRQ 0"`

$ echo `pidof "IRQ 50"`

$ echo `pidof "IRQ 9"`

pidof is installed and works...except with the IRQs.

I have another concern after reviewing another USX2Y rawusb post from
last year.

In response to a person having a similar problem as mine, one asked,
"Did you set PREEMPT_RT=y (complete real-time) on your kernel
configuration? It seems not... otherwise you would see those IRQ threads
around."

What can I do to verify the existence of the threads? What names do I
look for when running top? I don't see any command names with IRQ in
them...

Thanks,
Devin Venable
Received on Sun Apr 23 12:15:01 2006

This archive was generated by hypermail 2.1.8 : Sun Apr 23 2006 - 12:15:03 EEST