Blame SOURCES/0014-Improve-documentation-and-logging-for-banned-cpus.patch

9425f0
From cfb15f0bb95ebfd4357708eae42febe9f2121fba Mon Sep 17 00:00:00 2001
9425f0
From: Tao Liu <ltao@redhat.com>
9425f0
Date: Wed, 13 Jul 2022 17:11:40 +0800
9425f0
Subject: [PATCH 14/14] Improve documentation and logging for banned cpus
9425f0
9425f0
This patch have no functional modification. Just improve the doc and log
9425f0
for isolcpu, nohz_full and numa node banning cpus, for providing more
9425f0
info for users.
9425f0
9425f0
Signed-off-by: Tao Liu <ltao@redhat.com>
9425f0
---
9425f0
 cputree.c    | 6 +++---
9425f0
 irqbalance.1 | 2 +-
9425f0
 placement.c  | 6 +++++-
9425f0
 3 files changed, 9 insertions(+), 5 deletions(-)
9425f0
9425f0
diff --git a/cputree.c b/cputree.c
9425f0
index c250977..eb1981e 100644
9425f0
--- a/cputree.c
9425f0
+++ b/cputree.c
9425f0
@@ -159,14 +159,14 @@ static void setup_banned_cpus(void)
9425f0
 	cpus_or(banned_cpus, nohz_full, isolated_cpus);
9425f0
 
9425f0
 	cpumask_scnprintf(buffer, 4096, isolated_cpus);
9425f0
-	log(TO_CONSOLE, LOG_INFO, "Isolated CPUs: %s\n", buffer);
9425f0
+	log(TO_CONSOLE, LOG_INFO, "Prevent irq assignment to these isolated CPUs: %s\n", buffer);
9425f0
 	cpumask_scnprintf(buffer, 4096, nohz_full);
9425f0
-	log(TO_CONSOLE, LOG_INFO, "Adaptive-ticks CPUs: %s\n", buffer);
9425f0
+	log(TO_CONSOLE, LOG_INFO, "Prevent irq assignment to these adaptive-ticks CPUs: %s\n", buffer);
9425f0
 out:
9425f0
 #ifdef HAVE_THERMAL
9425f0
 	cpus_or(banned_cpus, banned_cpus, thermal_banned_cpus);
9425f0
 	cpumask_scnprintf(buffer, 4096, thermal_banned_cpus);
9425f0
-	log(TO_CONSOLE, LOG_INFO, "Thermal-banned CPUs: %s\n", buffer);
9425f0
+	log(TO_CONSOLE, LOG_INFO, "Prevent irq assignment to these thermal-banned CPUs: %s\n", buffer);
9425f0
 #endif
9425f0
 	cpumask_scnprintf(buffer, 4096, banned_cpus);
9425f0
 	log(TO_CONSOLE, LOG_INFO, "Banned CPUs: %s\n", buffer);
9425f0
diff --git a/irqbalance.1 b/irqbalance.1
9425f0
index 361faea..4c75362 100644
9425f0
--- a/irqbalance.1
9425f0
+++ b/irqbalance.1
9425f0
@@ -167,7 +167,7 @@ Same as --debug.
9425f0
 .B IRQBALANCE_BANNED_CPUS
9425f0
 Provides a mask of CPUs which irqbalance should ignore and never assign interrupts to.
9425f0
 If not specified, irqbalance use mask of isolated and adaptive-ticks CPUs on the
9425f0
-system as the default value.
9425f0
+system as the default value. The "isolcpus=" boot parameter specifies the isolated CPUs. The "nohz_full=" boot parameter specifies the adaptive-ticks CPUs. By default, no CPU will be an isolated or adaptive-ticks CPU.
9425f0
 This is a hexmask without the leading ’0x’. On systems with large numbers of
9425f0
 processors, each group of eight hex digits is separated by a comma ’,’. i.e.
9425f0
 ‘export IRQBALANCE_BANNED_CPUS=fc0‘ would prevent irqbalance from assigning irqs
9425f0
diff --git a/placement.c b/placement.c
9425f0
index 17a9f2e..9fde8cb 100644
9425f0
--- a/placement.c
9425f0
+++ b/placement.c
9425f0
@@ -135,8 +135,12 @@ static void place_irq_in_node(struct irq_info *info, void *data __attribute__((u
9425f0
 		 * Need to make sure this node is elligible for migration
9425f0
 		 * given the banned cpu list
9425f0
 		 */
9425f0
-		if (!cpus_intersects(irq_numa_node(info)->mask, unbanned_cpus))
9425f0
+		if (!cpus_intersects(irq_numa_node(info)->mask, unbanned_cpus)) {
9425f0
+			log(TO_CONSOLE, LOG_WARNING, "There is no suitable CPU in node:%d.\n", irq_numa_node(info)->number);
9425f0
+			log(TO_CONSOLE, LOG_WARNING, "Irqbalance dispatch irq:%d to other node.\n", info->irq);
9425f0
 			goto find_placement;
9425f0
+		}
9425f0
+
9425f0
 		/*
9425f0
 		 * This irq belongs to a device with a preferred numa node
9425f0
 		 * put it on that node
9425f0
-- 
9425f0
2.33.1
9425f0