summaryrefslogtreecommitdiff
path: root/pm/power.d/laptop-mode
blob: aae2335addd870f0934ef8ff7e969a46f1251346 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/sh

VM="/proc/sys/vm"

[ -w $VM/laptop_mode -a -w $VM/dirty_ratio ] || exit $NA

# We might only want to enable laptop mode on actual laptops.
# It really depends on how green we want to try to make the Linux
# world.  

laptop_mode_ac() {
    # disable laptop mode, set vm parameters back to sane defaults
    echo 0 >$VM/laptop_mode
    echo 5 >$VM/dirty_background_ratio
    echo 2999 >$VM/dirty_expire_centisecs
    echo 10 >$VM/dirty_ratio
    echo 499 >$VM/dirty_writeback_centisecs
}

laptop_mode_battery() {
    # enable laptop mode, set vm parameters to buffer as many writes as 
    # possible.
    echo 1 >$VM/laptop_mode
    echo 1 >$VM/dirty_background_ratio
    echo 60000 >$VM/dirty_expire_centisecs
    echo 85 >$VM/dirty_ratio
    echo 60000 >$VM/dirty_writeback_centisecs
}

case $1 in
    true) laptop_mode_battery ;;
    false) laptop_mode_ac ;;
    *) exit $NA ;;
esac

exit 0