Merge branch 'power_management'
This commit is contained in:
commit
22ec0d596c
@ -11,3 +11,4 @@ network_rc: "homeserver_network.conf"
|
|||||||
rc_conf: "homeserver_rc.conf"
|
rc_conf: "homeserver_rc.conf"
|
||||||
loader_conf: "homeserver_loader.conf"
|
loader_conf: "homeserver_loader.conf"
|
||||||
cputype: "intel"
|
cputype: "intel"
|
||||||
|
hwpstate: false
|
||||||
|
@ -11,3 +11,5 @@ network_rc: "odofreebsd_network.conf"
|
|||||||
rc_conf: "odofreebsd_rc.conf"
|
rc_conf: "odofreebsd_rc.conf"
|
||||||
loader_conf: "odofreebsd_loader.conf"
|
loader_conf: "odofreebsd_loader.conf"
|
||||||
cputype: "intel"
|
cputype: "intel"
|
||||||
|
hwpstate: true
|
||||||
|
cores: 8
|
||||||
|
@ -4,6 +4,6 @@ sendmail_enable="NONE"
|
|||||||
hostname="computer"
|
hostname="computer"
|
||||||
local_unbound_enable="YES"
|
local_unbound_enable="YES"
|
||||||
sshd_enable="YES"
|
sshd_enable="YES"
|
||||||
powerd_enable="YES"
|
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
|
||||||
dumpdev="NO"
|
dumpdev="NO"
|
||||||
zfs_enable="YES"
|
zfs_enable="YES"
|
||||||
|
@ -4,7 +4,6 @@ sendmail_enable="NONE"
|
|||||||
hostname="odo"
|
hostname="odo"
|
||||||
local_unbound_enable="YES"
|
local_unbound_enable="YES"
|
||||||
sshd_enable="YES"
|
sshd_enable="YES"
|
||||||
powerd_enable="YES"
|
|
||||||
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
|
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
|
||||||
dumpdev="NO"
|
dumpdev="NO"
|
||||||
zfs_enable="YES"
|
zfs_enable="YES"
|
||||||
|
1
ansible/roles/cpu/files/aesni_loader.conf
Normal file
1
ansible/roles/cpu/files/aesni_loader.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
aesni_load="YES"
|
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
|
1
ansible/roles/cpu/files/cpuctl_loader.conf
Normal file
1
ansible/roles/cpu/files/cpuctl_loader.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
cpuctl_load="YES"
|
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
|
2
ansible/roles/cpu/files/powerdxxrc.conf
Normal file
2
ansible/roles/cpu/files/powerdxxrc.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
powerdxx_enable=YES
|
||||||
|
powerdxx_flags="-n adaptive -a adaptive -b adaptive"
|
@ -1,3 +1,10 @@
|
|||||||
|
- name: Install packages
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- lscpu # need to kldload cpuctl
|
||||||
|
- powermon # need to kldload cpuctl
|
||||||
|
state: present
|
||||||
|
|
||||||
- name: Install loader.conf
|
- name: Install loader.conf
|
||||||
copy:
|
copy:
|
||||||
src: "files/{{ item }}_loader.conf"
|
src: "files/{{ item }}_loader.conf"
|
||||||
@ -7,6 +14,8 @@
|
|||||||
group: wheel
|
group: wheel
|
||||||
loop:
|
loop:
|
||||||
- coretemp
|
- coretemp
|
||||||
|
- cpuctl
|
||||||
|
- aesni
|
||||||
|
|
||||||
- name: Install Configuration
|
- name: Install Configuration
|
||||||
copy:
|
copy:
|
||||||
@ -18,3 +27,54 @@
|
|||||||
loop:
|
loop:
|
||||||
- src: power_profile.conf
|
- src: power_profile.conf
|
||||||
dest: /etc/rc.conf.d/power_profile
|
dest: /etc/rc.conf.d/power_profile
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
when: hwpstate is defined and not hwpstate
|
||||||
|
package:
|
||||||
|
name:
|
||||||
|
- powerdxx
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install service configuration
|
||||||
|
when: hwpstate is defined and not hwpstate
|
||||||
|
copy:
|
||||||
|
src: "files/{{ item.src }}"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
mode: 0644
|
||||||
|
owner: root
|
||||||
|
group: wheel
|
||||||
|
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
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
- name: restart ntpdate
|
|
||||||
service:
|
|
||||||
name: ntpdate
|
|
||||||
state: restarted
|
|
@ -1,5 +1,4 @@
|
|||||||
- name: Install Configuration
|
- name: Install Configuration
|
||||||
notify: restart ntpdate
|
|
||||||
copy:
|
copy:
|
||||||
src: "files/{{ item.src }}"
|
src: "files/{{ item.src }}"
|
||||||
dest: "{{ item.dest }}"
|
dest: "{{ item.dest }}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user