aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2020-03-27 14:31:12 +0000
committerPeter Mikus <pmikus@cisco.com>2020-04-01 06:33:09 +0000
commit10d2a085292d42716dacac36c973cbbf8bcfaeb0 (patch)
tree4da92b25d63d82424bcfed8f5a40a64fe85abd2f
parent51b70fc47a2aeb40e26c1b620ccc89af2762b0c9 (diff)
FIX: irqbalance settings
By default irqbalance should be honoring isolcpu settings but as of latest finding IRQs are distributed ad-hoc even if irqbalance is: - enabled: with default settings - disabled: by configuration - disabled: as a service - enabled: with incorrect mask This patch brings explicit configuration of IRQBALANCE_BANNED_CPUS with mask large enough to cover all cores and keeps IRQ to be processed by core 0. Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: I0eb36d780feb284a5493e123acbf993a362ea9ec
-rw-r--r--resources/tools/testbed-setup/ansible/roles/performance_tuning/files/irqbalance26
-rw-r--r--resources/tools/testbed-setup/ansible/roles/performance_tuning/tasks/main.yaml10
2 files changed, 36 insertions, 0 deletions
diff --git a/resources/tools/testbed-setup/ansible/roles/performance_tuning/files/irqbalance b/resources/tools/testbed-setup/ansible/roles/performance_tuning/files/irqbalance
new file mode 100644
index 0000000000..98ba483b0d
--- /dev/null
+++ b/resources/tools/testbed-setup/ansible/roles/performance_tuning/files/irqbalance
@@ -0,0 +1,26 @@
+# irqbalance is a daemon process that distributes interrupts across
+# CPUS on SMP systems. The default is to rebalance once every 10
+# seconds. This is the environment file that is specified to systemd via the
+# EnvironmentFile key in the service unit file (or via whatever method the init
+# system you're using has.
+#
+# ONESHOT=yes
+# after starting, wait for a minute, then look at the interrupt
+# load and balance it once; after balancing exit and do not change
+# it again.
+#IRQBALANCE_ONESHOT=
+
+#
+# IRQBALANCE_BANNED_CPUS
+# 64 bit bitmask which allows you to indicate which cpu's should
+# be skipped when reblancing irqs. Cpu numbers which have their
+# corresponding bits set to one in this mask will not have any
+# irq's assigned to them on rebalance
+#
+IRQBALANCE_BANNED_CPUS=ffffffff,ffffffff,ffffffff,fffffffe
+
+#
+# IRQBALANCE_ARGS
+# append any args here to the irqbalance daemon as documented in the man page
+#
+#IRQBALANCE_ARGS=
diff --git a/resources/tools/testbed-setup/ansible/roles/performance_tuning/tasks/main.yaml b/resources/tools/testbed-setup/ansible/roles/performance_tuning/tasks/main.yaml
index e28f9ba6a2..49a20882b9 100644
--- a/resources/tools/testbed-setup/ansible/roles/performance_tuning/tasks/main.yaml
+++ b/resources/tools/testbed-setup/ansible/roles/performance_tuning/tasks/main.yaml
@@ -148,6 +148,16 @@
tags:
- copy-cpufrequtils
+- name: Performance Tuning - Copy Irqbalance File
+ copy:
+ src: "files/irqbalance"
+ dest: "/etc/default/irqbalance"
+ owner: "root"
+ group: "root"
+ mode: "0644"
+ tags:
+ - copy-irqbalance
+
- name: Performance Tuning - Set Ondemand Service To Disable
service:
name: "ondemand"