From ace003818893bd1ec750e1d7cacc2dccd6343ded Mon Sep 17 00:00:00 2001 From: Kamil Rytarowski Date: Thu, 19 Apr 2012 00:17:35 +0000 Subject: - adapt script for SystemD --- cpufreq | 45 +++++++++++++++++++++++++++++++++++++ cpufreq.init | 69 --------------------------------------------------------- cpufreq.service | 13 +++++++++++ 3 files changed, 58 insertions(+), 69 deletions(-) create mode 100644 cpufreq delete mode 100644 cpufreq.init create mode 100644 cpufreq.service diff --git a/cpufreq b/cpufreq new file mode 100644 index 0000000..28b40e9 --- /dev/null +++ b/cpufreq @@ -0,0 +1,45 @@ +#!/bin/bash + +RETVAL=0 + +start() { + touch /var/lock/subsys/cpufreq + test -f /etc/sysconfig/cpufreq && . /etc/sysconfig/cpufreq + for cpu in /sys/devices/system/cpu/* ; do + [ "x$GOVERNOR" != "x" ] && [ -f $cpu/cpufreq/scaling_governor ] && echo $GOVERNOR > $cpu/cpufreq/scaling_governor + [ "x$MAX_FREQ" != "x" ] && [ -f $cpu/cpufreq/scaling_max_freq ] && echo $MAX_FREQ > $cpu/cpufreq/scaling_max_freq + [ "x$MIN_FREQ" != "x" ] && [ -f $cpu/cpufreq/scaling_min_freq ] && echo $MIN_FREQ > $cpu/cpufreq/scaling_min_freq + done +} + +stop() { + # make sure no governor module is in use first + # by switching to userspace governor (because it's built-in and won't modify frequency) + for cpu in /sys/devices/system/cpu/* ; do + [ -f $cpu/cpufreq/scaling_governor ] && echo userspace > $cpu/cpufreq/scaling_governor + done + rm -f /var/lock/subsys/cpufreq +} + +reload() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload) + reload + ;; + *) + echo "Usage: %s {start|stop|reload}" `basename $0` + RETVAL=1 + ;; +esac + +exit $RETVAL diff --git a/cpufreq.init b/cpufreq.init deleted file mode 100644 index e3a1a8f..0000000 --- a/cpufreq.init +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# -### BEGIN INIT INFO -# Provides: cpufreq -# Default-Start: 2 3 4 5 -# Short-Description: Set CPU frequency settings -# Description: Set CPU frequency settings -### END INIT INFO - -# Source function library. -. /etc/rc.d/init.d/functions - -RETVAL=0 - -start() { - gprintf "Setting CPU frequency settings: " - touch /var/lock/subsys/cpufreq - test -f /etc/sysconfig/cpufreq && . /etc/sysconfig/cpufreq - for cpu in /sys/devices/system/cpu/* ; do - [ "x$GOVERNOR" != "x" ] && [ -f $cpu/cpufreq/scaling_governor ] && echo $GOVERNOR > $cpu/cpufreq/scaling_governor - [ "x$MAX_FREQ" != "x" ] && [ -f $cpu/cpufreq/scaling_max_freq ] && echo $MAX_FREQ > $cpu/cpufreq/scaling_max_freq - [ "x$MIN_FREQ" != "x" ] && [ -f $cpu/cpufreq/scaling_min_freq ] && echo $MIN_FREQ > $cpu/cpufreq/scaling_min_freq - done - success - echo -} - -real_stop() { - gprintf "Resetting CPU frequency settings: " - # make sure no governor module is in use first - # by switching to userspace governor (because it's built-in and won't modify frequency) - for cpu in /sys/devices/system/cpu/* ; do - [ -f $cpu/cpufreq/scaling_governor ] && echo userspace > $cpu/cpufreq/scaling_governor - done - rm -f /var/lock/subsys/cpufreq - success - echo -} - -restart() { - real_stop - start -} - -case "$1" in - start) - start - ;; - stop) - ;; - restart|reload) - restart - ;; - condrestart) - if [ -f /var/lock/subsys/cpufreq ]; then - restart - fi - ;; - status) - [ -f /var/lock/subsys/cpufreq ] - RETVAL=$? - ;; - *) - gprintf "Usage: %s {start|stop|restart|condrestart|status}\n" `basename $0` - RETVAL=1 - ;; -esac - -exit $RETVAL diff --git a/cpufreq.service b/cpufreq.service new file mode 100644 index 0000000..92111c0 --- /dev/null +++ b/cpufreq.service @@ -0,0 +1,13 @@ +[Unit] +Description=A script for an init system to set CPU frequency settings + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/cpufreq start +ExecStop=/usr/bin/cpufreq stop +ExecReload=/usr/bin/cpufreq reload +StandardOutput=null + +[Install] +WantedBy=multi-user.target -- cgit v1.2.1