From 9ac26059125bfa85128cc97cf85e2c564ba97d48 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Tue, 19 Dec 2023 08:51:25 -0500 Subject: [PATCH] Also set the platform profile for AMD. The platform profile sets power settings for the EC/system but not the CPU. --- .../roles/cpu/files/cpu_set_perf_perc_linux_amd | 8 ++++++++ .../cpu/files/platform_profile_tmpfiles.conf | 2 ++ ansible/roles/cpu/tasks/linux_amd.yaml | 15 +++++++++++++-- ansible/roles/cpu/tasks/linux_intel.yaml | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 ansible/roles/cpu/files/platform_profile_tmpfiles.conf diff --git a/ansible/roles/cpu/files/cpu_set_perf_perc_linux_amd b/ansible/roles/cpu/files/cpu_set_perf_perc_linux_amd index 74d04b1..1b38de7 100644 --- a/ansible/roles/cpu/files/cpu_set_perf_perc_linux_amd +++ b/ansible/roles/cpu/files/cpu_set_perf_perc_linux_amd @@ -8,6 +8,14 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" perc=$1 +if [ "$perc" -gt 80 ]; then + echo performance | tee /sys/firmware/acpi/platform_profile +elif [ "$perc" -ge 20 ]; then + echo balanced | tee /sys/firmware/acpi/platform_profile +else + echo low-power | tee /sys/firmware/acpi/platform_profile +fi + if [ "$perc" -ge 80 ]; then echo "performance" | tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference elif [ "$perc" -ge 60 ]; then diff --git a/ansible/roles/cpu/files/platform_profile_tmpfiles.conf b/ansible/roles/cpu/files/platform_profile_tmpfiles.conf new file mode 100644 index 0000000..326a808 --- /dev/null +++ b/ansible/roles/cpu/files/platform_profile_tmpfiles.conf @@ -0,0 +1,2 @@ +# Favor energy efficiency for platform profile (EC / system, not CPU) +w- /sys/firmware/acpi/platform_profile - - - - low-power diff --git a/ansible/roles/cpu/tasks/linux_amd.yaml b/ansible/roles/cpu/tasks/linux_amd.yaml index fa1c279..5305a6a 100644 --- a/ansible/roles/cpu/tasks/linux_amd.yaml +++ b/ansible/roles/cpu/tasks/linux_amd.yaml @@ -4,18 +4,29 @@ - powertop state: present -- name: Favor energy efficiency for Speed Shift +- name: Favor energy efficiency for hardware p-states when: hwpstate is defined and hwpstate and cores is defined template: src: "templates/{{ item.src }}.j2" dest: "{{ item.dest }}" - mode: 0755 + mode: 0644 owner: root group: wheel loop: - src: energy_performance_preference.conf dest: /etc/tmpfiles.d/energy_performance_preference.conf +- name: Install tmpfiles.d configuration + when: hwpstate is defined and hwpstate and cores is defined + copy: + src: "files/{{ item }}_tmpfiles.conf" + dest: "/etc/tmpfiles.d/{{ item }}.conf" + mode: 0644 + owner: root + group: wheel + loop: + - platform_profile + - name: Install scripts when: hwpstate is defined and hwpstate copy: diff --git a/ansible/roles/cpu/tasks/linux_intel.yaml b/ansible/roles/cpu/tasks/linux_intel.yaml index 6cac6c5..03ec383 100644 --- a/ansible/roles/cpu/tasks/linux_intel.yaml +++ b/ansible/roles/cpu/tasks/linux_intel.yaml @@ -19,7 +19,7 @@ template: src: "templates/{{ item.src }}.j2" dest: "{{ item.dest }}" - mode: 0755 + mode: 0644 owner: root group: wheel loop: