On Sat, 21 Nov 2015, Ede Wolf wrote:
Following the discussion about irq_balance, I was
having a look at my
interrupts, I figured that my most important devices all share a single one:
cat /proc/interrupts:
20: <CPU List> IR-IO-APIC 20-fasteoi ohci_hcd:usb9, snd_rme9652,
vfio-intx(0000:07:00.0)
So some USB, my passed-through parallel card and my soundcard are all sharing
interrupt #20.
Now I wonder, is there a way to force the system to use a dedicated interrupt
just for the soundcard? So that the other ones shall use a different one (and
keep sharing, if the are happy there)?
Links are welcome, too, of course. So far I just found info on setting
interrupt CPU affinity, but not about configuring an exclusive interrupt for
a given PCI device.
Move the card to a different physical slot. Buy a mother board with as
many slots of the kind you want to use as possible. In my case I picked a
MB with 3 PCI slots because I need two and normally there is at least one
that shares a lot. Also, it may help to move another pci(e) card as well.
USB audio cards: Try all the USB plugs checking which IRQ they use. Often
it is possible to find one plug that has a free irq. Make sure not to use
another plug that ends up being the same USB port. In rtirq, use USB2, USB
to give USB2 a higher priority that all the other USB ports. It is the
same with more that one PCI snd driver, Sometimes changing the order
helps.
PC MBs are not designed for audio. If it is intended to use a PC for
audio, it is worth while being picky about the MB choice. Often a cheaper
MB is better than a more pricey version that has options you don't need or
worse will interfere with the audio performance. I still choose a CPU that
does not have hyper threading (4 core i5 over a 4 core i7 for example) by
default. I would probably turn HT off anyway and the i5 runs cooler
(=quieter BTW with similar cooling setup) If I wanted more speed, I would
look at a xeon with no HT or an i7 and turn ht off in BIOS if I could.
That is I would add more cores rather than HT.
Throughput performance != lowlatency performance. Speed helps, but it
isn't everything.
--
Len Ovens
www.ovenwerks.net