From db6ebeedbfae465def604fbf2183eab3c7e75c0e Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Fri, 11 Oct 2019 21:01:22 +0000 Subject: [PATCH] rpi: use systemd for cpufreq tuning Signed-off-by: Ian Leonard --- projects/RPi/initramfs/platform_init | 13 ------------- projects/RPi/packages/systemd/scripts/cpufreq | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 13 deletions(-) delete mode 100755 projects/RPi/initramfs/platform_init create mode 100755 projects/RPi/packages/systemd/scripts/cpufreq diff --git a/projects/RPi/initramfs/platform_init b/projects/RPi/initramfs/platform_init deleted file mode 100755 index b44e1dcfd4..0000000000 --- a/projects/RPi/initramfs/platform_init +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2009-2015 Stephan Raue (stephan@openelec.tv) - -# Enable io_is_busy for improved sdhost performance - essentially, equivalent of force_turbo=1 but for mmc -echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - -# Configure frequency scaling properties - should improve performance a little (turbo, in most cases) -echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor -echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold -echo 100000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate -echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor diff --git a/projects/RPi/packages/systemd/scripts/cpufreq b/projects/RPi/packages/systemd/scripts/cpufreq new file mode 100755 index 0000000000..8fb2b3976a --- /dev/null +++ b/projects/RPi/packages/systemd/scripts/cpufreq @@ -0,0 +1,18 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2009-2015 Stephan Raue (stephan@openelec.tv) +# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) + +SYS_CPUFREQ_GOV=$( cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ) +SYS_ONDEMAND_DIR="/sys/devices/system/cpu/cpufreq/ondemand/" + +# Configure frequency scaling properties +if [ "${SYS_CPUFREQ_GOV}" = "ondemand" ]; then + echo 1 > "${SYS_ONDEMAND_DIR}/io_is_busy" + echo 50 > "${SYS_ONDEMAND_DIR}/up_threshold" + echo 100000 > "${SYS_ONDEMAND_DIR}/sampling_rate" + echo 50 > "${SYS_ONDEMAND_DIR}/sampling_down_factor" +else + echo "cpufreq: settings not found for current cpu governor." | systemd-cat -p info +fi