diff options
author | Peter Mikus <pmikus@cisco.com> | 2020-03-27 14:31:12 +0000 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2020-04-01 06:33:09 +0000 |
commit | 10d2a085292d42716dacac36c973cbbf8bcfaeb0 (patch) | |
tree | 4da92b25d63d82424bcfed8f5a40a64fe85abd2f | |
parent | 51b70fc47a2aeb40e26c1b620ccc89af2762b0c9 (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/irqbalance | 26 | ||||
-rw-r--r-- | resources/tools/testbed-setup/ansible/roles/performance_tuning/tasks/main.yaml | 10 |
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" |