From 439219fdf6cccc3b76fbeddc3dcd8dd2c0ea695f Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: May 18 2021 06:53:23 +0000 Subject: import irqbalance-1.4.0-6.el8 --- 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 b6e2e6c..3a14000 100644 --- a/SPECS/irqbalance.spec +++ b/SPECS/irqbalance.spec @@ -1,6 +1,6 @@ Name: irqbalance Version: 1.4.0 -Release: 5%{?dist} +Release: 6%{?dist} Epoch: 2 Summary: IRQ balancing daemon @@ -32,6 +32,7 @@ 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 @@ -48,6 +49,7 @@ multiple CPUs for enhanced performance. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %build ./autogen.sh @@ -88,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)