X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=resources%2Ftools%2Ftestbed-setup%2Fansible%2Froles%2Fperformance_tuning%2Ftasks%2Fmain.yaml;h=feef2ca3a6b746c23db15cee2b9a9e9b67b539ec;hb=7b93e96740997dab4383140a639b055e074f63c1;hp=608d3e2505e5e3d66219561f87364475381046d6;hpb=917c3d8dc1331db5a9676df16d4187312b0003d8;p=csit.git 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 608d3e2505..feef2ca3a6 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 @@ -1,47 +1,44 @@ --- # file: roles/performance_tuning/tasks/main.yaml -- Name: Update package cache (apt) +- name: Inst - Update Package Cache (APT) apt: update_cache: yes cache_valid_time: 3600 when: - ansible_distribution|lower == 'ubuntu' + tags: + - perf-inst-prerequisites -- name: Performance Tuning - Install Distribution - Release - Machine Prerequisites +- name: Inst - Machine Prerequisites package: name: "{{ packages | flatten(levels=1) }}" state: latest tags: - - install-dependencies - -- name: Performance Tuning - Distribution - release - machine optimizations - include_tasks: '{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml' - tags: - - machine-optimizations + - perf-inst-prerequisites -- name: Performance Tuning - Configure {{ ansible_machine }} Kernel Parameters +- name: Conf - Kernel Parameters lineinfile: path: "/etc/default/grub" state: "present" regexp: "^GRUB_CMDLINE_LINUX=" - line: "GRUB_CMDLINE_LINUX=\"{% for key, value in grub.items() %}{% if value %}{{key}}={{value}} {% else %}{{key}} {% endif %}{% endfor %}\"" + line: "GRUB_CMDLINE_LINUX=\"{% for key, value in grub.items() %}{% if value is sameas true %}{{key}} {% else %}{{key}}={{value}} {% endif %}{% endfor %}\"" notify: - "Update GRUB" tags: - - set-grub + - perf-conf-grub - meta: flush_handlers -- name: Performance Tuning - Turbo Boost +- name: Conf - Turbo Boost import_tasks: turbo_boost.yaml when: > cpu_microarchitecture == "skylake" or cpu_microarchitecture == "cascadelake" tags: - - turbo-boost + - perf-conf-turbo-boost -- name: Performance Tuning - Adjust nr_hugepages +- name: Conf - Adjust nr_hugepages # change the minimum size of the hugepage pool. # 2G VPP, 4GB per VNF/CNF, 2G reserve sysctl: @@ -51,9 +48,9 @@ sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - - set-sysctl + - perf-conf-sysctl -- name: Performance Tuning - Adjust max_map_count +- name: Conf - Adjust max_map_count # this file contains the maximum number of memory map areas a process # may have. memory map areas are used as a side-effect of calling # malloc, directly by mmap and mprotect, and also when loading shared @@ -70,9 +67,9 @@ sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - - set-sysctl + - perf-conf-sysctl -- name: Performance Tuning - Adjust hugetlb_shm_group +- name: Conf - Adjust hugetlb_shm_group # hugetlb_shm_group contains group id that is allowed to create sysv # shared memory segment using hugetlb page. sysctl: @@ -82,9 +79,9 @@ sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - - set-sysctl + - perf-conf-sysctl -- name: Performance Tuning - Adjust swappiness +- name: Conf - Adjust swappiness # this control is used to define how aggressive the kernel will swap # memory pages. higher values will increase agressiveness, lower values # decrease the amount of swap. a value of 0 instructs the kernel not to @@ -97,9 +94,9 @@ sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - - set-sysctl + - perf-conf-sysctl -- name: Performance Tuning - Adjust shmmax +- name: Conf - Adjust shmmax # shared memory max must be greator or equal to the total size of hugepages. # for 2mb pages, totalhugepagesize = vm.nr_hugepages * 2 * 1024 * 1024 # if the existing kernel.shmmax setting (cat /sys/proc/kernel/shmmax) @@ -112,9 +109,9 @@ sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - - set-sysctl + - perf-conf-sysctl -- name: Performance Tuning - Adjust watchdog_cpumask +- name: Conf - Adjust watchdog_cpumask # this value can be used to control on which cpus the watchdog may run. # the default cpumask is all possible cores, but if no_hz_full is # enabled in the kernel config, and cores are specified with the @@ -132,9 +129,9 @@ sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - - set-sysctl + - perf-conf-sysctl -- name: Performance Tuning - Adjust randomize_va_space +- name: Conf - Adjust randomize_va_space # this option can be used to select the type of process address # space randomization that is used in the system, for architectures # that support this feature. @@ -148,38 +145,38 @@ sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - - set-sysctl + - perf-conf-sysctl -- name: Performance Tuning - Copy Cpufrequtils File +- name: Conf - Cpufrequtils copy: src: "files/cpufrequtils" dest: "/etc/default/cpufrequtils" owner: "root" group: "root" - mode: "0644" + mode: 0644 tags: - - copy-cpufrequtils + - perf-conf-cpufrequtils -- name: Performance Tuning - Copy Irqbalance File +- name: Conf - Irqbalance template: src: "files/irqbalance" dest: "/etc/default/irqbalance" owner: "root" group: "root" - mode: "0644" + mode: 0644 notify: - "Update GRUB" tags: - - copy-irqbalance + - perf-conf-irqbalance -- name: Performance Tuning - Set Ondemand Service To Disable +- name: Conf - Set Ondemand Service To Disable service: name: "ondemand" enabled: "no" tags: - - set-ondemand + - perf-conf-ondemand -- name: Performance Tuning - Load Kernel Modules By Default +- name: Conf - Load Kernel Modules By Default lineinfile: path: "/etc/modules" state: "present" @@ -187,6 +184,6 @@ with_items: - "vfio-pci" tags: - - load-kernel-modules + - perf-conf-load-kernel-modules - meta: flush_handlers