aboutsummaryrefslogtreecommitdiffstats
path: root/testing/cpupower
diff options
context:
space:
mode:
authorBen Allen <bensallen@me.com>2016-01-10 03:04:18 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2016-01-11 21:24:24 +0000
commitfdb0d1c11bbc081c49898d439331c166f70fa807 (patch)
treef37802c72717e2624ad29a1289e80a91e7a034f1 /testing/cpupower
parent3b668b5d523c8640dcb00f74b86a749206191596 (diff)
downloadaports-fdb0d1c11bbc081c49898d439331c166f70fa807.tar.bz2
aports-fdb0d1c11bbc081c49898d439331c166f70fa807.tar.xz
testing/cpupower: Moving linux-tools to dedicated cpupower package. Update to use 4.1.15 kernel. Add cpupower initd and confd from Gentoo.
- Updating version to compile from Linux 4.1.15 source. - Adding a confd and initd from Gentoo's cpupower package, as is, except changing to #!/sbin/openrc-run in the initd. - Removing testing/linux-tools, and creating a dedicated testing/cpupower package. Cpupower needs a doc, lang, and dev subpkg.
Diffstat (limited to 'testing/cpupower')
-rw-r--r--testing/cpupower/APKBUILD44
-rw-r--r--testing/cpupower/cpupower.confd36
-rw-r--r--testing/cpupower/cpupower.initd42
3 files changed, 122 insertions, 0 deletions
diff --git a/testing/cpupower/APKBUILD b/testing/cpupower/APKBUILD
new file mode 100644
index 0000000000..5d90d8710d
--- /dev/null
+++ b/testing/cpupower/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: Ben Allen <bensallen@me.com>
+pkgname=cpupower
+pkgver=4.1.15
+pkgrel=0
+pkgdesc="Linux kernel tool to examine and tune power saving related features of your processor"
+url="http://www.kernel.org"
+arch="all"
+license="GPL2"
+depends_dev="pciutils-dev readline-dev gettext-dev"
+makedepends="$depends_dev bash linux-headers"
+subpackages="$pkgname-doc $pkgname-lang $pkgname-dev"
+replaces="linux-tools-cpupower"
+source="http://ftp.kernel.org/pub/linux/kernel/v4.x/linux-$pkgver.tar.xz
+ cpupower.initd
+ cpupower.confd"
+
+_builddir="$srcdir"/linux-$pkgver
+
+build() {
+ cd "$_builddir"/tools/power/cpupower
+ CFLAGS="$CFLAGS -lintl" \
+ make VERSION=$pkgver-$pkgrel
+}
+
+package() {
+ cd "$_builddir"/tools/power/cpupower
+ make DESTDIR="$pkgdir" mandir="/usr/share/man" install || return 1
+
+ install -Dm755 "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname || return 1
+ install -Dm644 "$srcdir"/$pkgname.confd \
+ "$pkgdir"/etc/conf.d/$pkgname || return 1
+}
+
+md5sums="b227333912b161c96ff3e30f5041e1c0 linux-4.1.15.tar.xz
+209e4f95728bd7c7c4ba35c320683a9b cpupower.initd
+fc335236f7617b042066c6231d5c9b87 cpupower.confd"
+sha256sums="472288cc966188c5d7c511c6be0f78682843c9ca2d5d6c4d67d77455680359a3 linux-4.1.15.tar.xz
+bd7133303c9a0fc892267335b6fb371d6179c6f4251d7f360ae82d7d1f0b321f cpupower.initd
+9ab6f022d2b2948660decf5e383984e6ddb9e9e5e6e2761c3031378ddd87e947 cpupower.confd"
+sha512sums="2e56a61764daabd967a47206b96acf598dbf04a17bf05b44ad5f76164e64f570502c2d05507bb653222b7cc88226aaf60ca92672b67f48404ee5793d6de2293b linux-4.1.15.tar.xz
+97ecfeaaaa8efca7af585316b843bf7be885e88095bbdfbf52bc9a96b14dc862435482781e205ea022ab208978aaa4aabb317354fab890ed514a5088ae5045c8 cpupower.initd
+63cd12a4d8782198c71662e9205e346e064b65bae5e3e175b5bc43bdf7ec6ddf675b60349750afe3c37c8a925f9ae9a93530671821342581bd282a69e0773b8c cpupower.confd"
diff --git a/testing/cpupower/cpupower.confd b/testing/cpupower/cpupower.confd
new file mode 100644
index 0000000000..1e67ed04e2
--- /dev/null
+++ b/testing/cpupower/cpupower.confd
@@ -0,0 +1,36 @@
+# /etc/conf.d/cpupower: config file for /etc/init.d/cpupower
+
+# Options when starting cpufreq (given to the `cpupower` program)
+# Possible options are:
+# -g --governor <GOV> (ie: ondemand, performance, or powersave)
+# -d --min <FREQ> (ie: 1000MHz)
+# -u --max <FREQ> (ie: 2000MHz)
+# -f --freq <FREQ> (requires userspace governor, this *can not* be combined with
+# with any other parameters).
+# Frequencies can be passed in Hz, kHz (default), MHz, GHz, or THz by postfixing the
+# value with the wanted unit name, without any space.
+# (frequency in kHz =^ Hz * 0.001 =^ MHz * 1000 =^ GHz * 1000000).
+
+START_OPTS="--governor ondemand"
+
+# Options when stopping cpufreq (given to the `cpupower` program)
+# This option can be used to change governer on stop. Leaving it empty will ensure
+# the governer remains on the one provided above.
+STOP_OPTS=""
+
+# Extra settings to write to sysfs cpufreq values.
+#
+# up_threshold: threshold for stepping up frequency, where the value represents
+# the percentage of cpu load.
+#
+# down_threshold: threshold for stepping down frequency, where the value
+# represents the percentage of cpu load.
+#
+# sampling_down_factor: determines how frequently the governor polls the cpu, a
+# value greater than 1 improves performance by reducing the polling when the
+# load is high. This tunable has no effect on behavior at lower CPU frequencies.
+#
+# ignore_nice_load: when set to '1' the processes that are run with a 'nice'
+# value will not count in the usage calculation.
+
+#SYSFS_EXTRA="ondemand/ignore_nice_load=1 ondemand/up_threshold=75 ondemand/sampling_down_factor=10"
diff --git a/testing/cpupower/cpupower.initd b/testing/cpupower/cpupower.initd
new file mode 100644
index 0000000000..7e4584f5a7
--- /dev/null
+++ b/testing/cpupower/cpupower.initd
@@ -0,0 +1,42 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+CPUFREQ_SYSFS=/sys/devices/system/cpu/cpufreq
+
+change() {
+ local c ret=0 opts="$1"
+ if [ -n "$opts" ] ; then
+ ebegin "Running cpupower -c all frequency-set ${opts}"
+ cpupower -c all frequency-set ${opts} >/dev/null 2>&1
+ : $(( ret += $? ))
+ eend ${ret}
+
+ if [ -d ${CPUFREQ_SYSFS} ] && [ -n "${SYSFS_EXTRA}" ] ; then
+ c=1
+ einfo "Setting extra options: ${SYSFS_EXTRA}"
+ if cd ${CPUFREQ_SYSFS} ; then
+ local o v
+ for o in ${SYSFS_EXTRA} ; do
+ v=${o#*=}
+ o=${o%%=*}
+ echo ${v} > ${o} || break
+ done
+ c=0
+ fi
+ eend ${c}
+ : $(( ret += c ))
+ fi
+ fi
+
+ return ${ret}
+}
+
+start() {
+ change "${START_OPTS}"
+}
+
+stop() {
+ change "${STOP_OPTS}"
+}