[irqbalance/f18] Fix balancing on numa systems (bz844381)

Petr Holasek pholasek at fedoraproject.org
Mon Sep 3 11:16:34 UTC 2012


commit 149c84aa41fc7e03e17674f8f814340c92a8fe29
Author: Petr Holasek <pholasek at redhat.com>
Date:   Mon Sep 3 13:12:28 2012 +0200

    Fix balancing on numa systems (bz844381)

 ...gnore-the-unspecified-node-during-placeme.patch |   35 ++++++++++++++++++++
 irqbalance.spec                                    |    7 +++-
 2 files changed, 41 insertions(+), 1 deletions(-)
---
diff --git a/0001-numa-only-ignore-the-unspecified-node-during-placeme.patch b/0001-numa-only-ignore-the-unspecified-node-during-placeme.patch
new file mode 100644
index 0000000..37766a2
--- /dev/null
+++ b/0001-numa-only-ignore-the-unspecified-node-during-placeme.patch
@@ -0,0 +1,35 @@
+From 1189cd6f19bc562d5009a7b566ca5e8cb7a6906a Mon Sep 17 00:00:00 2001
+From: Neil Horman <nhorman at hmsreliant.think-freely.org>
+Date: Fri, 23 Mar 2012 15:02:30 -0400
+Subject: [PATCH] numa: only ignore the unspecified node during placement when
+ numa is available
+
+Serj Kalichev reported a problem with irqbalance on non-numa systems, indicating
+that irqs were not balanced because the placement algorithm ignores the
+unspecified node.  We need to not do that, but only in cases where we don't have
+any other nodes.  If we have a valid numa system, then we want to always choose
+one of the real nodes over the unspecified one, but in non-numa systems we can
+and should allow the selection of the unspecified (and only) node
+
+Signed-off-by: Neil Horman <nhorman at tuxdriver.com>
+Reported-by: Serj Kalichev <serj.kalichev at gmail.com>
+---
+ placement.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/placement.c b/placement.c
+index 108ccc9..a1e33f3 100644
+--- a/placement.c
++++ b/placement.c
+@@ -48,7 +48,7 @@ static void find_best_object(struct topo_obj *d, void *data)
+ 	/*
+  	 * Don't consider the unspecified numa node here
+  	 */
+-	if ((d->obj_type == OBJ_TYPE_NODE) && (d->number == -1))
++	if (numa_avail && (d->obj_type == OBJ_TYPE_NODE) && (d->number == -1))
+ 		return;
+ 
+ 	/*
+-- 
+1.7.11.4
+
diff --git a/irqbalance.spec b/irqbalance.spec
index 7f3ef93..22e3cac 100644
--- a/irqbalance.spec
+++ b/irqbalance.spec
@@ -1,6 +1,6 @@
 Name:           irqbalance
 Version:        1.0.3
-Release:        7%{?dist}
+Release:        8%{?dist}
 Epoch:          2
 Summary:        IRQ balancing daemon
 
@@ -32,6 +32,7 @@ Patch6: 0006-irqbalance-cpu-powersave-code-disabled-when-power_th.patch
 Patch7: 0007-apply-affinity-hint-also-if-the-current-policy-is-su.patch
 Patch8: 0008-irqlist-added-check-for-avoidance-of-division-by-zer.patch
 Patch9: irqbalance-1.0.3-unit-file-proper-paths.patch
+Patch10: 0001-numa-only-ignore-the-unspecified-node-during-placeme.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
 %{configure}
@@ -85,6 +87,9 @@ fi
 /sbin/chkconfig --del irqbalance >/dev/null 2>&1 || :
 
 %changelog
+* Mon Sep 3 2012 Petr Holasek <pholasek at redhat.com> - 2:1.0.3-8
+- Fix balancing on numa systems (bz844381)
+
 * Wed Aug 29 2012 Petr Holasek <pholasek at redhat.com> - 2:1.0.3-7
 - Systemd unit file paths was edited in proper way.
 


More information about the scm-commits mailing list