dgbaley27 at 0x01b.net
Mon Sep 17 21:17:12 EDT 2012
On 09/17/2012 06:44 PM, Curtis Shimamoto wrote:
> On 09/17/12 at 10:31am, Matthew Monaco wrote:
>> On 09/17/2012 09:40 AM, Mart?n Cigorraga wrote:
>>> "[...]However, tmpfiles may also be used to write values into certain files
>>> on boot. For example, if you use /etc/rc.local to disable wakeup from USB
>>> devices with echo USBE > /proc/acpi/wakeup, you may use the following
>>> tmpfile instead:
>>> w /proc/acpi/wakeup - - - - USBE
>>> The tmpfiles method is recommended in this case since systemd doesn't
>>> actually support /etc/rc.local."
>>> Does that means that I need to move all the content from /etc/rc.local to
>>> /etc/tmpfiles.d? For example this is my actual /etc/rc.local:
>>> ~ $ cat /etc/rc.local
>>> # /etc/rc.local: Local multi-user startup script.
>>> #modprobe radeon # added by hybrid-video-ati-intel install script
>>> #echo IGD > /sys/kernel/debug/vgaswitcheroo/switch # added by
>>> hybrid-video-ati-intel install script
>>> echo OFF > /sys/kernel/debug/vgaswitcheroo/switch # completely deactivate
>>> ## ATi
>>> # Source: https://wiki.archlinux.org/index.php/ATI#Performance_tuning
>>> echo low > /sys/class/drm/card0/device/power_profile
>>> #echo profile > /sys/class/drm/card0/device/power_method
>>> echo dynpm > /sys/class/drm/card0/device/power_method
>>> echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
>>> # CPUFREQ
>>> for i in 0 1 2 3; do cpufreq-set -c $i -g powersave; done ## sets
>>> powersave cpufreq governor for all CPU cores
>>> #echo -n 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
>>> echo -n 20 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
>>> # Prepare the system for Wake-on-Lan
>>> /usr/sbin/ethtool -s eth0 wol pg
>>> # Activate laptop_mode
>>> echo 5 > /proc/sys/vm/laptop_mode
>>> # Performance tweaks for USB drivers under KDE SC
>>> echo madvise > /sys/kernel/mm/transparent_hugepage/enabled
>>> echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
>>> echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
>>> If this is the case, how do you guys would convert the FOR loop!?
>> For ethtool, just create a separate service that executes that command.
>> Everything else you do is writing to /sys, so you can have one giant tmpfiles.d
>> For the for loop:
>> w /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - - - - powersave
>> w /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - - - - powersave
>> w /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - - - - powersave
>> w /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - - - - powersave
>> Also, I don't think it's an error if the file doesn't exist, so you can just do
>> cpu0..cpu16 or whatever if you feel like.
> I am fairly certain that tmpfiles.d understands "*", so you could
> probably get away with one line for something like that.
It doesn't for the 'w' type. Globbing is specified explicitly where it's
supported. I don't know if that was an explicit design decision though. You
might have yourself an easy patch if you want to contribute.
More information about the arch-general