[LAU] reducing xruns (System configuration)
Ralf Mardorf
ralf.mardorf at alice-dsl.net
Thu Jul 19 17:00:26 CEST 2018
On Thu, 19 Jul 2018 14:20:29 +0200, Max wrote:
>On 18.07.2018 22:38, Ralf Mardorf wrote:
>> On Wed, 18 Jul 2018 21:15:21 +0200, Max wrote:
>>> On 18.07.2018 19:58, Ralf Mardorf wrote:
>>>> /etc/init.d/rtirq status
>>>
>>> PID CLS RTPRIO NI PRI %CPU STAT COMMAND
>>> 441 FF 50 - 90 0.0 S irq/29-mei_me
>>> 527 FF 50 - 90 0.0 S irq/31-iwlwifi
>>> 8 TS - 0 19 0.0 S ksoftirqd/0
>>> 18 TS - 0 19 0.0 S ksoftirqd/1
>>> 24 TS - 0 19 0.0 S ksoftirqd/2
>>> 30 TS - 0 19 0.0 S ksoftirqd/3
>>> 36 TS - 0 19 0.0 S ksoftirqd/4
>>> 42 TS - 0 19 0.0 S ksoftirqd/5
>>> 48 TS - 0 19 0.0 S ksoftirqd/6
>>> 54 TS - 0 19 0.0 S ksoftirqd/7
>>>
>>>> grep RTIRQ_NAME_LIST /etc/default/rtirq
>>>
>>> # RTIRQ_NAME_LIST="rtc snd usb i8042" # old
>>> RTIRQ_NAME_LIST="snd usb i8042"
>>
>> That's most likely the culprit or at least the major culprit. Nothing
>> has got rt priority.
>>
>> Are you sure that you are running the lowlatency kernel? If not, than
>> you need the boot option 'threadirqs'.
>>
>> What's the output of
>>
>> uname -rm
>
>4.17.8-041708-lowlatency x86_64
>
>> Before you boot the lowlatency kernel or a generic kernel with
>> boot option 'threadirqs', make USB the head and remove the keyboard
>> from this list, IOW change it to RTIRQ_NAME_LIST="usb snd"
>could you elaborate how?
Hi,
yesno!
I can explain how to change the rtirq configuration line from
RTIRQ_NAME_LIST="snd usb i8042"
to
RTIRQ_NAME_LIST="usb snd"
Run
sudo $EDITOR /etc/default/rtirq
and edit this line.
I can't explain why some 3rd party lowlatency kernel doesn't work with
the installed rtirq script. I'm already not a friend of Ubuntu and
Ubuntu flavours, let alone a friend of 3rd party repositories and
derivatives that are not supported by Ubuntu.
I'm using Arch Linux, but to help novices, I've got an Ubuntu install. I
always try to help even users of Ubuntu derivatives, but it's not
always possible, since it's often way to obscure, what is done by 3rd
party maintainers.
Maybe this lowlatency kernel requires usage of the 'threadirqs' boot
option. If so, add it to your boot loaders configuration file. The
bootloader on my machine is syslinux, this is how it does look like for
the syslinux configuration file:
[rocketmouse at archlinux ~]$ grep -A3 '\^threadirqs' /boot/syslinux/syslinux.cfg
MENU LABEL Arch Linux ^threadirqs
LINUX ../vmlinuz-linux
APPEND root=LABEL=archlinux ro threadirqs
INITRD ../intel-ucode.img,../initramfs-linux.img
I didn't test, if the page table isolation stuff has got impact on
real-time performance, maybe you want to disable it, if so add 'nopti':
[rocketmouse at archlinux ~]$ grep -A3 '\^nopti' /boot/syslinux/syslinux.cfg
MENU LABEL Arch Linux threadirqs ^nopti
LINUX ../vmlinuz-linux
APPEND root=LABEL=archlinux ro threadirqs nopti
INITRD ../intel-ucode.img,../initramfs-linux.img
Btw. your output of /etc/init.d/rtirq status look similar to this one:
[rocketmouse at archlinux ~]$ rtirq status
PID CLS RTPRIO NI PRI %CPU STAT COMMAND
158 FF 90 - 130 0.0 S irq/16-ehci_hcd
163 FF 90 - 130 0.0 S irq/24-xhci_hcd
161 FF 89 - 129 0.0 S irq/23-ehci_hcd
309 FF 85 - 125 0.0 S irq/16-snd_hdsp
327 FF 80 - 120 0.0 S irq/16-snd_ice1
38 FF 50 - 90 0.0 S irq/9-acpi
157 FF 50 - 90 0.0 S irq/1-i8042
164 FF 50 - 90 0.0 S irq/25-ahci[000
275 FF 50 - 90 0.0 S irq/5-parport0
284 FF 50 - 90 0.0 S irq/27-mei_me
288 FF 50 - 90 0.0 S irq/8-rtc0
298 FF 50 - 90 0.0 S irq/18-i801_smb
356 FF 50 - 90 0.0 S irq/28-i915
376 FF 50 - 90 0.0 S irq/29-snd_hda_
541 FF 50 - 90 0.0 S irq/26-enp3s0
8 TS - 0 19 0.0 S ksoftirqd/0
21 TS - 0 19 0.0 S ksoftirqd/1
[rocketmouse at archlinux ~]$ uname -rm
4.17.7-1-ARCH x86_64
IOW USB should be on top of the rt priority list.
What's the output of 'systemctl status rtirq'?
[rocketmouse at archlinux ~]$ systemctl status rtirq
● rtirq.service - Realtime IRQ thread system tuning
Loaded: loaded (/usr/lib/systemd/system/rtirq.service; enabled; vendor preset: disabled)
Active: active (exited) since Wed 2018-07-18 05:31:47 CEST; 1 day 11h ago
Main PID: 864 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4915)
Memory: 0B
CGroup: /system.slice/rtirq.service
Jul 18 05:31:47 archlinux systemd[1]: Starting Realtime IRQ thread system tuning...
Jul 18 05:31:47 archlinux rtirq[864]: Setting IRQ priorities: start [ehci_hcd] irq=16 pid=158 prio=90: OK.
Jul 18 05:31:47 archlinux rtirq[864]: Setting IRQ priorities: start [ehci_hcd] irq=23 pid=161 prio=89: OK.
Jul 18 05:31:47 archlinux rtirq[864]: Setting IRQ priorities: start [xhci_hcd] irq=24 pid=163 prio=90: OK.
Jul 18 05:31:47 archlinux rtirq[864]: Setting IRQ priorities: start [snd_hdsp] irq=16 pid=309 prio=85: OK.
Jul 18 05:31:47 archlinux rtirq[864]: Setting IRQ priorities: start [snd_ice1] irq=16 pid=327 prio=80: OK.
Jul 18 05:31:47 archlinux systemd[1]: Started Realtime IRQ thread system tuning.
Regards,
Ralf
--
pacman -Q linux{,-rt{-cornflower,,-securityink,-pussytoes}}|cut -d\ -f2
4.17.7-1
4.16.18_rt9-1
4.16.15_rt7-1
4.16.12_rt5-1
4.14.34_rt27-1
More information about the Linux-audio-user
mailing list