#!/bin/sh . "${PM_FUNCTIONS}" VM="/proc/sys/vm" vmfiles="laptop_mode dirty_ratio dirty_background_ratio dirty_writeback_centisecs" LAPTOP_MODE=${LAPTOP_MODE:-5} LAPTOP_DIRTY_RATIO=${LAPTOP_DIRTY_RATIO:-60} LAPTOP_DIRTY_BG_RATIO=${LAPTOP_DIRTY_BG_RATIO:-40} LAPTOP_DIRTY_WRITEBACK=${LAPTOP_DIRTY_WRITEBACK:-60000} help() { cat < "$VM/$f" shift done } laptop_mode_ac() { # disable laptop mode, set vm parameters back to sane defaults if state_exists laptop_mode_default; then write_values $(restorestate laptop_mode_default) else write_values 0 10 5 500 fi echo "Laptop mode disabled." } laptop_mode_battery() { # enable laptop mode, set vm parameters to buffer as many writes as # possible. state_exists laptop_mode_default || \ read_values | savestate laptop_mode_default write_values "$LAPTOP_MODE" "$LAPTOP_DIRTY_RATIO" \ "$LAPTOP_DIRTY_BG_RATIO" "$LAPTOP_DIRTY_WRITEBACK" echo "Laptop mode enabled." } case $1 in true) laptop_mode_battery ;; false) laptop_mode_ac ;; help) help;; *) exit $NA ;; esac exit 0