diff --git a/SOURCES/irqbalance-1.5.0-Refine-document-about-IRQBALANCE_BANNED_CPUS.patch b/SOURCES/irqbalance-1.5.0-Refine-document-about-IRQBALANCE_BANNED_CPUS.patch new file mode 100644 index 0000000..6554804 --- /dev/null +++ b/SOURCES/irqbalance-1.5.0-Refine-document-about-IRQBALANCE_BANNED_CPUS.patch @@ -0,0 +1,31 @@ +From a1abba7b070587cc5fa69597081dcc80f4addef3 Mon Sep 17 00:00:00 2001 +From: Kairui Song +Date: Tue, 26 Feb 2019 16:26:51 +0800 +Subject: [PATCH] Refine document about IRQBALANCE_BANNED_CPUS + +There is no declaration about how irqbalance deal with isolated CPUs or +adaptive-ticks CPUs, and how IRQBALANCE_BANNED_CPUS will override the +behavior of auto-banning of such CPUs. Refine the document to avoid +confusion. + +Signed-off-by: Kairui Song +--- + irqbalance.1 | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/irqbalance.1 b/irqbalance.1 +index 11eb498..d272b6f 100644 +--- a/irqbalance.1 ++++ b/irqbalance.1 +@@ -155,6 +155,8 @@ Same as --debug. + .TP + .B IRQBALANCE_BANNED_CPUS + Provides a mask of CPUs which irqbalance should ignore and never assign interrupts to. ++If not specified, irqbalance use mask of isolated and adaptive-ticks CPUs on the ++system as the default value. + + .SH "SIGNALS" + .TP +-- +2.28.0 + diff --git a/SOURCES/irqbalance-1.7.0-Add-some-examples-for-IRQBALANCE_BANNED_CPUS.patch b/SOURCES/irqbalance-1.7.0-Add-some-examples-for-IRQBALANCE_BANNED_CPUS.patch new file mode 100644 index 0000000..b766bee --- /dev/null +++ b/SOURCES/irqbalance-1.7.0-Add-some-examples-for-IRQBALANCE_BANNED_CPUS.patch @@ -0,0 +1,31 @@ +From acb0c2057952fa8bb502bf6b4222b327efe44c4c Mon Sep 17 00:00:00 2001 +From: Kairui Song +Date: Mon, 26 Oct 2020 17:26:52 +0800 +Subject: [PATCH] Add some examples for IRQBALANCE_BANNED_CPUS + +Signed-off-by: Kairui Song +--- + irqbalance.1 | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/irqbalance.1 b/irqbalance.1 +index d272b6f..330c12b 100644 +--- a/irqbalance.1 ++++ b/irqbalance.1 +@@ -157,6 +157,13 @@ Same as --debug. + Provides a mask of CPUs which irqbalance should ignore and never assign interrupts to. + If not specified, irqbalance use mask of isolated and adaptive-ticks CPUs on the + system as the default value. ++This is a hexmask without the leading ’0x’. On systems with large numbers of ++processors, each group of eight hex digits is separated by a comma ’,’. i.e. ++‘export IRQBALANCE_BANNED_CPUS=fc0‘ would prevent irqbalance from assigning irqs ++to the 7th-12th cpus (cpu6-cpu11) or ‘export IRQBALANCE_BANNED_CPUS=ff000000,00000001‘ ++would prevent irqbalance from assigning irqs to the 1st (cpu0) and 57th-64th cpus ++(cpu56-cpu63). ++ + + .SH "SIGNALS" + .TP +-- +2.28.0 + diff --git a/SOURCES/irqbalance-1.7.0-Also-fetch-node-info-for-non-PCI-devices.patch b/SOURCES/irqbalance-1.7.0-Also-fetch-node-info-for-non-PCI-devices.patch new file mode 100644 index 0000000..a41c77f --- /dev/null +++ b/SOURCES/irqbalance-1.7.0-Also-fetch-node-info-for-non-PCI-devices.patch @@ -0,0 +1,30 @@ +From a1f83a563475bd77843c4b44ee44a7d764bc9bba Mon Sep 17 00:00:00 2001 +From: Kairui Song +Date: Thu, 28 Jan 2021 15:24:32 +0800 +Subject: [PATCH] Also fetch node info for non-PCI devices + +non-PCI devices could also be bind to a certain node. So if failed to +fetch the info from sysfs, try to get it from /proc/irq//node. +--- + classify.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/classify.c b/classify.c +index df8a89b..92f43cc 100644 +--- a/classify.c ++++ b/classify.c +@@ -395,7 +395,10 @@ static struct irq_info *add_one_irq_to_db(const char *devpath, int irq, struct u + get_numa_node: + numa_node = -1; + if (numa_avail) { +- sprintf(path, "%s/numa_node", devpath); ++ if (devpath) ++ sprintf(path, "%s/numa_node", devpath); ++ else ++ sprintf(path, "/proc/irq/%i/node", irq); + fd = fopen(path, "r"); + if (fd) { + fscanf(fd, "%d", &numa_node); +-- +2.29.2 + diff --git a/SPECS/irqbalance.spec b/SPECS/irqbalance.spec index 3ab7b93..3a14000 100644 --- a/SPECS/irqbalance.spec +++ b/SPECS/irqbalance.spec @@ -1,6 +1,6 @@ Name: irqbalance Version: 1.4.0 -Release: 4%{?dist} +Release: 6%{?dist} Epoch: 2 Summary: IRQ balancing daemon @@ -30,6 +30,9 @@ Patch4: irqbalance-1.5.0-Don-t-leak-socket-fd-on-connection-error.patch Patch5: irqbalance-1.4.0-procinterrupts-check-xen-dyn-event-more-flexible.patch Patch6: irqbalance-1.5.0-Update-document-and-remove-dead-options.patch Patch7: irqbalance-1.4.0-Fix-ambiguous-parsing-of-node-entries-in-sys.patch +Patch8: irqbalance-1.5.0-Refine-document-about-IRQBALANCE_BANNED_CPUS.patch +Patch9: irqbalance-1.7.0-Add-some-examples-for-IRQBALANCE_BANNED_CPUS.patch +Patch10: irqbalance-1.7.0-Also-fetch-node-info-for-non-PCI-devices.patch %description irqbalance is a daemon that evenly distributes IRQ load across @@ -44,6 +47,9 @@ multiple CPUs for enhanced performance. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 %build ./autogen.sh @@ -84,6 +90,12 @@ fi /sbin/chkconfig --del irqbalance >/dev/null 2>&1 || : %changelog +* Fri Jan 29 2021 Kairui Song 2:1.4.0-6 +- Also fetch node info for non-PCI devices + +* Wed Nov 04 2020 Kairui Song 2:1.4.0-5 +- Add some examples for IRQBALANCE_BANNED_CPUS (bz1730546) + * Wed Jul 31 2019 Kairui Song 2:1.4.0-4 - Fix ambiguous parsing of *node* entries in /sys. (bz1730546)