Uh that thread is interesting. Rui also said:
rncbc wrote:
there are only two special keywords: "snd" and "usb", which you know their meaning already; all other options might be sourced as a substring from what is found in the last and right-most column of the /proc/interrupts list.
and that pretty much explains to us how to build RTIRQ_NAME_LIST entries.
Here the situation with rtirq running as configured above:
Code: Select all
[crocoduck@arch ~]$ ps -eLo rtprio,cls,pid,pri,nice,cmd | grep "FF" | sort -r
- TS 2086 19 0 grep FF
99 FF 34 139 - [posixcputmr/3]
99 FF 31 139 - [migration/3]
99 FF 30 139 - [watchdog/3]
99 FF 27 139 - [posixcputmr/2]
99 FF 24 139 - [migration/2]
99 FF 23 139 - [watchdog/2]
99 FF 20 139 - [posixcputmr/1]
99 FF 17 139 - [migration/1]
99 FF 16 139 - [watchdog/1]
99 FF 15 139 - [watchdog/0]
99 FF 14 139 - [migration/0]
99 FF 12 139 - [posixcputmr/0]
90 FF 71 130 - [irq/8-rtc0]
88 FF 123 128 - [irq/46-xhci_hcd]
87 FF 1800 127 - /usr/bin/jackd -P87 -t5000 -dalsa -r96000 -p64 -n3 -D -Chw:USB -Phw:USB
86 FF 255 126 - [irq/52-snd_hda_]
86 FF 226 126 - [irq/48-snd_hda_]
51 FF 250 91 - [irq/51-s-iwlwif]
50 FF 69 90 - [irq/42-pciehp]
50 FF 68 90 - [irq/44-PCIe PME]
50 FF 67 90 - [irq/43-PCIe PME]
50 FF 66 90 - [irq/42-PCIe PME]
50 FF 49 90 - [irq/9-acpi]
50 FF 434 90 - [irq/49-enp2s0]
50 FF 249 90 - [irq/51-iwlwifi]
50 FF 239 90 - [irq/50-i915]
50 FF 218 90 - [irq/47-mei_me]
50 FF 116 90 - [irq/45-0000:00:]
50 FF 113 90 - [irq/1-i8042]
50 FF 107 90 - [irq/23-ehci_hcd]
50 FF 106 90 - [irq/12-i8042]
1 FF 3 41 - [ksoftirqd/0]
1 FF 33 41 - [ksoftirqd/3]
1 FF 26 41 - [ksoftirqd/2]
1 FF 19 41 - [ksoftirqd/1]
That jack setup is the lowest latency one (6-7 ms round-trip). It seems working just fine until I launch Ardour, which trows xruns at me for some reason. Here the situation with Ardour running:
Code: Select all
[crocoduck@arch ~]$ ps -eLo rtprio,cls,pid,pri,nice,cmd | grep "FF" | sort -r
- TS 2707 19 0 grep FF
9 FF 2643 49 - /usr/lib/ardour4/ardour-4.6.0
99 FF 34 139 - [posixcputmr/3]
99 FF 31 139 - [migration/3]
99 FF 30 139 - [watchdog/3]
99 FF 27 139 - [posixcputmr/2]
99 FF 24 139 - [migration/2]
99 FF 23 139 - [watchdog/2]
99 FF 20 139 - [posixcputmr/1]
99 FF 17 139 - [migration/1]
99 FF 16 139 - [watchdog/1]
99 FF 15 139 - [watchdog/0]
99 FF 14 139 - [migration/0]
99 FF 12 139 - [posixcputmr/0]
90 FF 71 130 - [irq/8-rtc0]
88 FF 123 128 - [irq/46-xhci_hcd]
87 FF 1800 127 - /usr/bin/jackd -P87 -t5000 -dalsa -r96000 -p64 -n3 -D -Chw:USB -Phw:USB
86 FF 255 126 - [irq/52-snd_hda_]
86 FF 226 126 - [irq/48-snd_hda_]
82 FF 2643 122 - /usr/lib/ardour4/ardour-4.6.0
82 FF 2643 122 - /usr/lib/ardour4/ardour-4.6.0
82 FF 2643 122 - /usr/lib/ardour4/ardour-4.6.0
82 FF 2643 122 - /usr/lib/ardour4/ardour-4.6.0
82 FF 2643 122 - /usr/lib/ardour4/ardour-4.6.0
51 FF 250 91 - [irq/51-s-iwlwif]
50 FF 69 90 - [irq/42-pciehp]
50 FF 68 90 - [irq/44-PCIe PME]
50 FF 67 90 - [irq/43-PCIe PME]
50 FF 66 90 - [irq/42-PCIe PME]
50 FF 49 90 - [irq/9-acpi]
50 FF 434 90 - [irq/49-enp2s0]
50 FF 249 90 - [irq/51-iwlwifi]
50 FF 239 90 - [irq/50-i915]
50 FF 218 90 - [irq/47-mei_me]
50 FF 116 90 - [irq/45-0000:00:]
50 FF 113 90 - [irq/1-i8042]
50 FF 107 90 - [irq/23-ehci_hcd]
50 FF 106 90 - [irq/12-i8042]
1 FF 3 41 - [ksoftirqd/0]
1 FF 33 41 - [ksoftirqd/3]
1 FF 26 41 - [ksoftirqd/2]
1 FF 19 41 - [ksoftirqd/1]
Here with Guitarix alone (working just fine):
Code: Select all
[crocoduck@arch ~]$ ps -eLo rtprio,cls,pid,pri,nice,cmd | grep "FF" | sort -r
- TS 2999 19 0 grep FF
99 FF 34 139 - [posixcputmr/3]
99 FF 31 139 - [migration/3]
99 FF 30 139 - [watchdog/3]
99 FF 27 139 - [posixcputmr/2]
99 FF 24 139 - [migration/2]
99 FF 23 139 - [watchdog/2]
99 FF 20 139 - [posixcputmr/1]
99 FF 17 139 - [migration/1]
99 FF 16 139 - [watchdog/1]
99 FF 15 139 - [watchdog/0]
99 FF 14 139 - [migration/0]
99 FF 12 139 - [posixcputmr/0]
90 FF 71 130 - [irq/8-rtc0]
88 FF 123 128 - [irq/46-xhci_hcd]
87 FF 2776 127 - /usr/bin/jackd -P87 -t5000 -dalsa -r96000 -p64 -n3 -D -Chw:USB -Phw:USB
86 FF 255 126 - [irq/52-snd_hda_]
86 FF 226 126 - [irq/48-snd_hda_]
82 FF 2934 122 - guitarix
82 FF 2934 122 - guitarix
81 FF 2934 121 - guitarix
51 FF 250 91 - [irq/51-s-iwlwif]
50 FF 69 90 - [irq/42-pciehp]
50 FF 68 90 - [irq/44-PCIe PME]
50 FF 67 90 - [irq/43-PCIe PME]
50 FF 66 90 - [irq/42-PCIe PME]
50 FF 49 90 - [irq/9-acpi]
50 FF 434 90 - [irq/49-enp2s0]
50 FF 249 90 - [irq/51-iwlwifi]
50 FF 239 90 - [irq/50-i915]
50 FF 218 90 - [irq/47-mei_me]
50 FF 116 90 - [irq/45-0000:00:]
50 FF 113 90 - [irq/1-i8042]
50 FF 107 90 - [irq/23-ehci_hcd]
50 FF 106 90 - [irq/12-i8042]
1 FF 3 41 - [ksoftirqd/0]
1 FF 33 41 - [ksoftirqd/3]
1 FF 26 41 - [ksoftirqd/2]
1 FF 19 41 - [ksoftirqd/1]
And now Guitarix + Ardour (xruns frenzy):
Code: Select all
[crocoduck@arch ~]$ ps -eLo rtprio,cls,pid,pri,nice,cmd | grep "FF" | sort -r
- TS 3266 19 0 grep FF
9 FF 3176 49 - /usr/lib/ardour4/ardour-4.6.0
99 FF 34 139 - [posixcputmr/3]
99 FF 31 139 - [migration/3]
99 FF 30 139 - [watchdog/3]
99 FF 27 139 - [posixcputmr/2]
99 FF 24 139 - [migration/2]
99 FF 23 139 - [watchdog/2]
99 FF 20 139 - [posixcputmr/1]
99 FF 17 139 - [migration/1]
99 FF 16 139 - [watchdog/1]
99 FF 15 139 - [watchdog/0]
99 FF 14 139 - [migration/0]
99 FF 12 139 - [posixcputmr/0]
90 FF 71 130 - [irq/8-rtc0]
88 FF 123 128 - [irq/46-xhci_hcd]
87 FF 2776 127 - /usr/bin/jackd -P87 -t5000 -dalsa -r96000 -p64 -n3 -D -Chw:USB -Phw:USB
86 FF 255 126 - [irq/52-snd_hda_]
86 FF 226 126 - [irq/48-snd_hda_]
82 FF 3176 122 - /usr/lib/ardour4/ardour-4.6.0
82 FF 3176 122 - /usr/lib/ardour4/ardour-4.6.0
82 FF 3176 122 - /usr/lib/ardour4/ardour-4.6.0
82 FF 3176 122 - /usr/lib/ardour4/ardour-4.6.0
82 FF 3176 122 - /usr/lib/ardour4/ardour-4.6.0
82 FF 2934 122 - guitarix
82 FF 2934 122 - guitarix
81 FF 2934 121 - guitarix
51 FF 250 91 - [irq/51-s-iwlwif]
50 FF 69 90 - [irq/42-pciehp]
50 FF 68 90 - [irq/44-PCIe PME]
50 FF 67 90 - [irq/43-PCIe PME]
50 FF 66 90 - [irq/42-PCIe PME]
50 FF 49 90 - [irq/9-acpi]
50 FF 434 90 - [irq/49-enp2s0]
50 FF 249 90 - [irq/51-iwlwifi]
50 FF 239 90 - [irq/50-i915]
50 FF 218 90 - [irq/47-mei_me]
50 FF 116 90 - [irq/45-0000:00:]
50 FF 113 90 - [irq/1-i8042]
50 FF 107 90 - [irq/23-ehci_hcd]
50 FF 106 90 - [irq/12-i8042]
1 FF 3 41 - [ksoftirqd/0]
1 FF 33 41 - [ksoftirqd/3]
1 FF 26 41 - [ksoftirqd/2]
1 FF 19 41 - [ksoftirqd/1]
By the way, I did not boost CPU freq or turned off internet. I guess it would help and I usually do it when recording stuff seriously. However, I would also try to achieve good performances without doing that. Seems weird to me that one has to kill stuff to do music in 2016. Especially with a very simple laptop:
Code: Select all
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3)
00:1c.2 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
00:1c.3 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 (rev e3)
00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
03:00.0 Network controller: Intel Corporation Wireless 3160 (rev 83)
Code: Select all
Bus 001 Device 002: ID 8087:8001 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 058f:3822 Alcor Micro Corp.
Bus 002 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 002 Device 004: ID 1235:800a Focusrite-Novation Scarlett 2i4
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
For now, the most stable - lowest latency setup is this one:
Code: Select all
/usr/bin/jackd -P87 -t5000 -dalsa -r96000 -p256 -n2 -D -Chw:USB -Phw:USB
Which yields to 16-17 ms of round-trip latency. Which isn't super bad really, but 10 ms above my mark.
EDIT:
cpu scaling and wireless turn-off do not improve the situation.
Code: Select all
cpupower frequency-set -g performance
modprobe -rv iwlmvm