SUSE Support

Here When You Need Us

irqbalance ignores IRQBALANCE_BANNED_INTERRUPTS

This document (7017313) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP1)
SUSE Linux Enterprise Server 11 Service Pack 3 (SLES 11 SP3)
SUSE Linux Enterprise Server 11 Service Pack 4 (SLES 11 SP4)

Situation

A customer needs to prevent a certain interrupt from being migrated between CPUs by the irqbalance daemon.
This can be done by adding the interrupt number(s) to the IRQBALANCE_BANNED_INTERRUPTS environment variable in the /etc/sysconfig/irqbalance file.
However this variable is silently ignored in SUSE Linux Enterprise (SLE) 11 Service Pack 3 and newer versions.

Resolution

As per man (1) irqbalance, interrupts can be banned by use of the
-i, --banirq=<irqnum>
option, which can be specified on SLE 12 and later (multiple times if needed) in the IRQBALANCE_ARGS variable in the /etc/sysconfig/irqbalance file.

A problem with the list of banned interrupts getting overwritten on SLE 12 has been reported to SUSE engineering. The fix for that has been released in the maintenance update irqbalance-1.0.7-7.1 (for SLE 12 and SLE 12 SP1).

Cause

IRQBALANCE_BANNED_INTERRUPTS was dropped upstream in
https://github.com/Irqbalance/irqbalance/commit/57159ea2f89b4925f2ee2a5cb1dc045dd9835ee1
and followed up by adding the banirq option in
https://github.com/Irqbalance/irqbalance/commit/82047c1a22ff2edcbc39f39d43dae222b4b7eb43

A reason for dropping the variable is that it does not scale with modern hardware.

The first version of the irqbalance package with this change applied was included in SLES 11 SP3 GA nearly three years ago.

So the fact that the variable is silently ignored on recent SLE versions is actually a matter of SUSE not removing the section about IRQBALANCE_BANNED_INTERRUPTS at the time the code in the irqbalance package was updated to the upstream version, which removed the variable from the actual code.
This has also been corrected with the maintenance update irqbalance-1.0.7-7.1 (for SLE 12 and SLE 12 SP1).

Additional Information


Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:7017313
  • Creation Date: 01-Mar-2016
  • Modified Date:03-Mar-2020
    • SUSE Linux Enterprise Server

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

tick icon

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

tick icon

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

tick icon

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.