Add support for speedshift (hardware p-states).
This commit is contained in:
parent
c45e4cc3fa
commit
f965a125e6
@ -11,3 +11,4 @@ network_rc: "homeserver_network.conf"
|
||||
rc_conf: "homeserver_rc.conf"
|
||||
loader_conf: "homeserver_loader.conf"
|
||||
cputype: "intel"
|
||||
hwpstate: false
|
||||
|
@ -12,3 +12,4 @@ rc_conf: "odofreebsd_rc.conf"
|
||||
loader_conf: "odofreebsd_loader.conf"
|
||||
cputype: "intel"
|
||||
hwpstate: true
|
||||
cores: 8
|
||||
|
14
ansible/roles/cpu/files/cpu_set_perf_perc
Normal file
14
ansible/roles/cpu/files/cpu_set_perf_perc
Normal file
@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Tell speedshift whether to maximize CPU performance (100) or energy
|
||||
# efficiency (0).
|
||||
set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
perc=$1
|
||||
epp=$((100 - perc))
|
||||
|
||||
sysctl -N dev.hwpstate_intel | grep -E 'dev.hwpstate_intel.[0-9]+.epp' | while read var; do
|
||||
sysctl "$var=$epp"
|
||||
done
|
2
ansible/roles/cpu/files/percorespeedshift_loader.conf
Normal file
2
ansible/roles/cpu/files/percorespeedshift_loader.conf
Normal file
@ -0,0 +1,2 @@
|
||||
# Control each core individually
|
||||
machdep.hwpstate_pkg_ctrl=0
|
@ -46,3 +46,35 @@
|
||||
with_items:
|
||||
- src: powerdxxrc.conf
|
||||
dest: /etc/rc.conf.d/powerdxx
|
||||
|
||||
- name: Favor energy efficiency for Speed Shift
|
||||
when: hwpstate is defined and hwpstate and cores is defined
|
||||
sysctl:
|
||||
name: "dev.hwpstate_intel.{{ item }}.epp"
|
||||
value: 100
|
||||
state: present
|
||||
sysctl_file: "/etc/sysctl.conf.local"
|
||||
loop: "{{ range(0, cores, 1)|list }}"
|
||||
|
||||
- name: Install scripts
|
||||
when: hwpstate is defined and hwpstate
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: cpu_set_perf_perc
|
||||
dest: /usr/local/bin/cpu_set_perf_perc
|
||||
|
||||
- name: Install loader.conf
|
||||
when: hwpstate is defined and hwpstate
|
||||
copy:
|
||||
src: "files/{{ item }}_loader.conf"
|
||||
dest: "/boot/loader.conf.d/{{ item }}.conf"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- percorespeedshift
|
||||
|
Loading…
x
Reference in New Issue
Block a user