Luc wrote:tramp's procedure doesn't look like what I did the last time. Please tell me about Grub. I do think that Grub was involved.
There is a software package called
rtirq. It is not about enabling realtime, but about assigning higher irq to audio devices, in order to reduce the chances of interrupts along the hardware involved in your audio streams. The command you entered (ps ax | grep "\[irq") seems to me a method to assess the irq situation in your hardware. Basically, you want your audio devices having an high irq which isn't shared by other devices. rtirq offers an automatic way to do it.
I think you are on debian, so I am not too aware about how to install rtirq on your platform. On Arch, we install
rtirq from AUR, then we enable its systemd service
You can check how the script is working with these two commands:
Code: Select all
systemctl status rtirq
/usr/bin/rtirq status
Which should return something like this if rtirq is working properly:
Code: Select all
● rtirq.service - Realtime IRQ thread system tuning
Loaded: loaded (/usr/lib/systemd/system/rtirq.service; enabled; vendor preset: disabled
Active: active (exited) since Sat 2017-09-30 09:32:54 BST; 51min ago
Process: 852 ExecStart=/usr/bin/rtirq start (code=exited, status=0/SUCCESS)
Main PID: 852 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4915)
CGroup: /system.slice/rtirq.service
Sep 30 09:32:54 arch systemd[1]: Starting Realtime IRQ thread system tuning...
Sep 30 09:32:54 arch rtirq[852]: Setting IRQ priorities: start [xhci] irq=45 pid=104 prio=
Sep 30 09:32:54 arch systemd[1]: Started Realtime IRQ thread system tuning.
Code: Select all
PID CLS RTPRIO NI PRI %CPU STAT COMMAND
104 FF 90 - 130 0.0 S irq/45-xhci_hcd
43 FF 50 - 90 0.0 S irq/9-acpi
63 FF 50 - 90 0.0 S irq/42-PCIe PME
64 FF 50 - 90 0.0 S irq/43-PCIe PME
65 FF 50 - 90 0.0 S irq/44-PCIe PME
66 FF 50 - 90 0.0 S irq/42-pciehp
68 FF 50 - 90 0.0 S irq/8-rtc0
98 FF 50 - 90 0.0 S irq/12-i8042
99 FF 50 - 90 0.0 S irq/1-i8042
102 FF 50 - 90 0.0 S irq/23-ehci_hcd
105 FF 50 - 90 0.0 S irq/46-ahci[000
262 FF 50 - 90 0.0 S irq/47-mei_me
266 FF 50 - 90 0.0 S irq/18-i801_smb
284 FF 50 - 90 0.0 S irq/49-iwlwifi
351 FF 50 - 90 0.0 S irq/50-snd_hda_
359 FF 50 - 90 0.0 S irq/51-i915
426 FF 50 - 90 0.0 S irq/52-snd_hda_
559 FF 50 - 90 0.0 S irq/48-enp2s0
285 FF 49 - 89 0.0 S irq/49-s-iwlwif
3 TS - 0 19 0.0 S ksoftirqd/0
16 TS - 0 19 0.0 S ksoftirqd/1
22 TS - 0 19 0.0 S ksoftirqd/2
28 TS - 0 19 0.0 S ksoftirqd/3
To ensure that rtirq works, you might need to boot your kernel with the threadirqs parameter. To do that, you need to edit /etc/default/grub, then add threadirqs to the GRUB_CMDLINE_LINUX_DEFAULT or GRUB_CMDLINE_LINUX options. I just add it to GRUB_CMDLINE_LINUX_DEFAULT. Then, regenerate grub.cfg:
Code: Select all
grub-mkconfig -o /boot/grub/grub.cfg
You can look at
this for a discussion about fine tuning rtirq.