#!/bin/bash -e
#
#  Copyright (C) 2016 ScyllaDB

. /usr/lib/scylla/scylla_lib.sh

if [ ! -f /sys/devices/system/cpu/cpufreq/policy0/scaling_governor ]; then
    echo "This computer doesn't supported CPU scaling configuration."
    exit 0
fi
if is_debian_variant; then
    apt-get install -y cpufrequtils
    service cpufrequtils stop
    echo 'GOVERNOR="performance"' > /etc/default/cpufrequtils
    if is_systemd; then
        systemctl enable cpufrequtils.service
    fi
    service cpufrequtils start
elif is_gentoo_variant; then
    emerge -uq sys-power/cpupower
    sed -e 's/--governor ondemand/--governor performance/g' -i /etc/conf.d/cpupower
    if is_systemd; then
        systemctl enable cpupower-frequency-set.service
        systemctl start cpupower-frequency-set.service
    else
        rc-update add cpupower default
        service cpupower start
    fi
else
    yum install -y cpupowerutils || true
    echo 'CPUPOWER_START_OPTS="frequency-set -g performance"' > /etc/sysconfig/cpupower
    echo 'CPUPOWER_STOP_OPTS="frequency-set -g ondemand"' >> /etc/sysconfig/cpupower
    if [ "`systemctl is-active cpupower.service`" = "active" ]; then
        systemctl stop cpupower.service
    fi
    systemctl enable cpupower.service
    systemctl start cpupower.service
fi
