Why two rtirq entries?

Optimize your system for ultimate performance.

Moderators: MattKingUSA, khz

Post Reply
User avatar
lilith
Established Member
Posts: 1698
Joined: Fri May 27, 2016 11:41 pm
Location: bLACK fOREST
Has thanked: 117 times
Been thanked: 57 times
Contact:

Why two rtirq entries?

Post by lilith »

I installed the Liquorix kernel and set threadirqs again in my boot options.

I wonder why I have two entries here:

Code: Select all

sudo /etc/init.d/rtirq status

  PID CLS RTPRIO  NI PRI %CPU STAT COMMAND	
  255 FF      95   - 135  6.6 S    irq/32-xhci_hcd	
  275 FF      94   - 134  0.0 S    irq/33-xhci_hcd	
    9 TS       -   0  38  0.1 S    ksoftirqd/0	
   18 TS       -   0  38  0.1 S    ksoftirqd/1	
   24 TS       -   0  38  0.2 S    ksoftirqd/2	
Is this because of input and output channel?
User avatar
sunrat
Established Member
Posts: 919
Joined: Wed Jul 22, 2020 2:08 pm
Has thanked: 151 times
Been thanked: 244 times

Re: Why two rtirq entries?

Post by sunrat »

I just joined here and noticed no reply.
Liquorix kernels are built with
CONFIG_IRQ_FORCED_THREADING=y
so the threadirqs kernel parameter is not needed. Maybe its duplication is causing your multiple entries. Try removing threadirqs from the boot options. Or maybe its not a problem at all. Is it causing any issues?
GuntherT
Established Member
Posts: 168
Joined: Sun Jun 07, 2015 2:15 am
Has thanked: 9 times
Been thanked: 28 times

Re: Why two rtirq entries?

Post by GuntherT »

Does your computer have two USB buses, and did you put "usb" in the name list for the rtirq config file? If so, it could be pushing both buses to the top of the list, prioritizing the one on the lower numbered interrupt line. My interface is on bus 2 (confirmed with 'lsusb -t' and named "ehci_hcd:usb2" per 'cat /proc/interrupts'), so I put "usb2" in the rtirq name list, and the script only prioritizes that set of ports.
Last edited by GuntherT on Wed Aug 05, 2020 7:08 pm, edited 4 times in total.
User avatar
turbidh20
Established Member
Posts: 190
Joined: Sun Aug 04, 2019 12:48 pm
Location: UK
Has thanked: 8 times
Been thanked: 2 times

Re: Why two rtirq entries?

Post by turbidh20 »

Aren't they different IRQs on the same USB bus? I'm not sure there's any way to specify a single IRQ from the same bus in that case.
Arch Linux (i7-4790k/GTX970); UMC204HD; MPK Mini MKII; Jack2 (QjackCtl) & Ardour/Mixbus
GuntherT
Established Member
Posts: 168
Joined: Sun Jun 07, 2015 2:15 am
Has thanked: 9 times
Been thanked: 28 times

Re: Why two rtirq entries?

Post by GuntherT »

"lsusb -t" would confirm if they are the same bus or not. The rtirq status output doesnt provide that level of detail, but I would assume that is why there are two entries. The status output above looks the same as mine when I use "usb" in the name list, but using "usb2" drops the unrelated USB entry further down the list. Of course yours could need "usb1" or even not be affected by these edits depending on their names, but it worked for me on my laptop.
User avatar
lilith
Established Member
Posts: 1698
Joined: Fri May 27, 2016 11:41 pm
Location: bLACK fOREST
Has thanked: 117 times
Been thanked: 57 times
Contact:

Re: Why two rtirq entries?

Post by lilith »

I have the RT kernel booted with the CONFIG_IRQ_FORCED_THREADING=y boot option (I was too lazy to delete it). I don't have any obvious problems with this.

Here's the output of lsusb

Code: Select all

marco@marco:~$ sudo /etc/init.d/rtirq status
[sudo] password for marco: 

  PID CLS RTPRIO  NI PRI %CPU STAT COMMAND	
  161 FF      95   - 135  5.4 S    irq/28-xhci_hcd	
  185 FF      94   - 134  0.0 S    irq/29-xhci_hcd	
  692 FF      50   -  90  0.0 S    irq/26-enp2s0	
    9 TS       -   0  19  0.1 S    ksoftirqd/0	
   17 TS       -   0  19  0.1 S    ksoftirqd/1	
   22 TS       -   0  19  0.1 S    ksoftirqd/2	
   27 TS       -   0  19  0.1 S    ksoftirqd/3	
   42 TS       -   0  19  0.0 S    irq/9-acpi	
   68 TS       -   0  19  0.0 S    irq/8-rtc0	
  128 TS       -   0  19  0.0 S    irq/18-i801_smb	
  141 TS       -   0  19  0.0 S    irq/16-ehci_hcd	
  163 TS       -   0  19  0.0 S    irq/23-ehci_hcd	
  184 TS       -   0  19  0.0 S    irq/27-ahci[000	
  202 TS       -   0  19  0.0 S    irq/30-i915	
  385 TS       -   0  19  0.0 S    irq/31-mei_me	

marco@marco:~$ lsusb -t
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M
    |__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 1: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 4, If 0, Class=Hub, Driver=hub/5p, 480M
            |__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 480M
            |__ Port 2: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 4: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 4: Dev 7, If 1, Class=Audio, Driver=snd-usb-audio, 12M
            |__ Port 4: Dev 7, If 2, Class=Audio, Driver=snd-usb-audio, 12M
            |__ Port 5: Dev 8, If 0, Class=Hub, Driver=hub/5p, 480M
                |__ Port 1: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 480M
                |__ Port 5: Dev 10, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
    |__ Port 9: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 9: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 9: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 9: Dev 2, If 3, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 9: Dev 2, If 4, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 9: Dev 2, If 5, Class=Application Specific Interface, Driver=, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
User avatar
turbidh20
Established Member
Posts: 190
Joined: Sun Aug 04, 2019 12:48 pm
Location: UK
Has thanked: 8 times
Been thanked: 2 times

Re: Why two rtirq entries?

Post by turbidh20 »

lilith wrote: Wed Aug 05, 2020 7:16 pmHere's the output of lsusb...
Unless you have a bus with a unique name, as GuntherT does, then you'll have everything 'xhci_hcd' at the top. In my case I have 9 'xhci_hcd' IRQs prioritised with no way to order them or select individual ones.

Don't stress over it :)
Arch Linux (i7-4790k/GTX970); UMC204HD; MPK Mini MKII; Jack2 (QjackCtl) & Ardour/Mixbus
User avatar
lilith
Established Member
Posts: 1698
Joined: Fri May 27, 2016 11:41 pm
Location: bLACK fOREST
Has thanked: 117 times
Been thanked: 57 times
Contact:

Re: Why two rtirq entries?

Post by lilith »

I still don't get it. It seems imo that only one of the two entries belongs to my audio interface. So there's another process running with RT priority which would be bad. On the other hand I 've seen similar outputs from other people.
puleglot
Established Member
Posts: 135
Joined: Thu Jan 23, 2020 3:14 pm
Has thanked: 3 times
Been thanked: 13 times

Re: Why two rtirq entries?

Post by puleglot »

This was explained here:
viewtopic.php?f=27&t=21821
Post Reply