diff options
author | Ben Allen <bensallen@me.com> | 2016-01-10 03:04:18 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2016-01-11 21:24:24 +0000 |
commit | fdb0d1c11bbc081c49898d439331c166f70fa807 (patch) | |
tree | f37802c72717e2624ad29a1289e80a91e7a034f1 /testing/cpupower | |
parent | 3b668b5d523c8640dcb00f74b86a749206191596 (diff) | |
download | aports-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/APKBUILD | 44 | ||||
-rw-r--r-- | testing/cpupower/cpupower.confd | 36 | ||||
-rw-r--r-- | testing/cpupower/cpupower.initd | 42 |
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}" +} |