irqbalance superfluous

John Moser john.r.moser at gmail.com
Thu Apr 9 12:19:21 UTC 2015


IRQbalance keeps all of the IRQ requests from backing up on a single
CPU.  It tries to balance this out in an intelligent way accross all the
CPUs and, when possible, puts the IRQ processing as close to the process
as possible.

On NUMA systems, you may want numad.  I believe irqbalance exits if it
detects NUMA.

On 04/09/2015 08:14 AM, Istimsak Abdulbasir wrote:
> What is the irqbalance and what was the reason for using it?
> 
> On Apr 9, 2015 8:09 AM, "Daniel J Blueman" <daniel at quora.org
> <mailto:daniel at quora.org>> wrote:
> 
>     Checked with Vivid beta on Intel i5 hardware, and it seems interrupt
>     distribution doesn't change when I boot with irqbalance running [1],
>     or after purging it and rebooting [2].
> 
>     Finally, it can't second guess MSI interrupt setup better than the
>     APIC driver and adds a unnecessary layer of 'intelligence'. I don't
>     see any case common enough to warrant deploying it by default.
> 
>     Anyone against removing it?
> 
>     Dan
> 
>     -- [1]
> 
>     root at nuc:~# cat /proc/interrupts
>                CPU0       CPU1       CPU2       CPU3
>       0:         18          0          0          0  IR-IO-APIC-edge   
>       timer
>       1:          1          1          0          1  IR-IO-APIC-edge   
>       i8042
>       7:          9          0          0          0  IR-IO-APIC-edge
>       8:          0          0          0          1  IR-IO-APIC-edge   
>       rtc0
>       9:          3          0          0          0 
>     IR-IO-APIC-fasteoi   acpi
>      12:          1          2          1          0  IR-IO-APIC-edge   
>       i8042
>      23:         11          1         15          6  IR-IO-APIC
>     23-fasteoi   ehci_hcd:usb3
>      40:          0          0          0          0  DMAR_MSI-edge     
>     dmar0
>      41:          0          0          0          0  DMAR_MSI-edge     
>     dmar1
>      42:          0          0          0          0  IR-PCI-MSI-edge   
>       PCIe PME
>      43:          0          0          0          0  IR-PCI-MSI-edge   
>       PCIe PME
>      44:         87         25         95         23  IR-PCI-MSI-edge   
>       xhci_hcd
>      45:       2740       4911       4405      14870  IR-PCI-MSI-edge
>     0000:00:1f.2
>      46:         10         10       2504          3  IR-PCI-MSI-edge   
>       eth0
>      47:         12          1          1          0  IR-PCI-MSI-edge   
>       mei_me
>      48:          8         14          3          1  IR-PCI-MSI-edge   
>       iwlwifi
>      49:        496        594        290        331  IR-PCI-MSI-edge   
>       i915
>      50:        197         80          4         39  IR-PCI-MSI-edge
>     snd_hda_intel
>      51:        721          0          0         28  IR-PCI-MSI-edge
>     snd_hda_intel
>     NMI:          1          1          0          1   Non-maskable
>     interrupts
>     LOC:      30046      19983      13391      18318   Local timer
>     interrupts
>     SPU:          0          0          0          0   Spurious interrupts
>     PMI:          1          1          0          1   Performance
>     monitoring interrupts
>     IWI:          0          0          0          0   IRQ work interrupts
>     RTR:          2          0          0          0   APIC ICR read retries
>     RES:        943       1130        618        693   Rescheduling
>     interrupts
>     CAL:        840        699        674        747   Function call
>     interrupts
>     TLB:        198        205        286       1241   TLB shootdowns
>     TRM:          0          0          0          0   Thermal event
>     interrupts
>     THR:          0          0          0          0   Threshold APIC
>     interrupts
>     MCE:          0          0          0          0   Machine check
>     exceptions
>     MCP:          4          4          4          4   Machine check polls
>     HYP:          0          0          0          0   Hypervisor callback
>     interrupts
>     ERR:          9
>     MIS:          0
> 
>     -- [2]
> 
>     root at nuc:~# cat /proc/interrupts
>                CPU0       CPU1       CPU2       CPU3
>       0:         20          0          0          0  IR-IO-APIC-edge   
>       timer
>       1:          1          0          1          1  IR-IO-APIC-edge   
>       i8042
>       7:         11          0          0          0  IR-IO-APIC-edge
>       8:          0          0          0          1  IR-IO-APIC-edge   
>       rtc0
>       9:          3          0          0          0 
>     IR-IO-APIC-fasteoi   acpi
>      12:          3          0          1          0  IR-IO-APIC-edge   
>       i8042
>      23:         15         10         10          0  IR-IO-APIC
>     23-fasteoi   ehci_hcd:usb3
>      40:          0          0          0          0  DMAR_MSI-edge     
>     dmar0
>      41:          0          0          0          0  DMAR_MSI-edge     
>     dmar1
>      42:          0          0          0          0  IR-PCI-MSI-edge   
>       PCIe PME
>      43:          0          0          0          0  IR-PCI-MSI-edge   
>       PCIe PME
>      44:         48          9         98         11  IR-PCI-MSI-edge   
>       xhci_hcd
>      45:       3592        754       4633       1272  IR-PCI-MSI-edge
>     0000:00:1f.2
>      46:         37         23         89         13  IR-PCI-MSI-edge   
>       eth0
>      47:         14          0          0          0  IR-PCI-MSI-edge   
>       mei_me
>      48:        291          0          4         25  IR-PCI-MSI-edge
>     snd_hda_intel
>      49:         12         16          6          0  IR-PCI-MSI-edge   
>       iwlwifi
>      50:        246        132        154        288  IR-PCI-MSI-edge   
>       i915
>      51:         25        673         13         42  IR-PCI-MSI-edge
>     snd_hda_intel
>     NMI:          0          0          0          0   Non-maskable
>     interrupts
>     LOC:       1041       1680        928        964   Local timer
>     interrupts
>     SPU:          0          0          0          0   Spurious interrupts
>     PMI:          0          0          0          0   Performance
>     monitoring interrupts
>     IWI:          0          0          1          0   IRQ work interrupts
>     RTR:          3          0          0          0   APIC ICR read retries
>     RES:        374        517        311        305   Rescheduling
>     interrupts
>     CAL:        638        640        679        609   Function call
>     interrupts
>     TLB:       1628         93         49        110   TLB shootdowns
>     TRM:          0          0          0          0   Thermal event
>     interrupts
>     THR:          0          0          0          0   Threshold APIC
>     interrupts
>     MCE:          0          0          0          0   Machine check
>     exceptions
>     MCP:          2          2          2          2   Machine check polls
>     HYP:          0          0          0          0   Hypervisor callback
>     interrupts
>     ERR:         11
>     MIS:          0
>     --
>     Daniel J Blueman
> 
>     --
>     Ubuntu-devel-discuss mailing list
>     Ubuntu-devel-discuss at lists.ubuntu.com
>     <mailto:Ubuntu-devel-discuss at lists.ubuntu.com>
>     Modify settings or unsubscribe at:
>     https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss
> 
> 
> 




More information about the Ubuntu-devel-discuss mailing list