blob: 62a6af442ea39aa96d2a00da26cfeec016870846 (
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
|
#!/bin/sh
VM="/proc/sys/vm"
[ -w $VM/laptop_mode -a -w $VM/dirty_ratio ] || exit $NA
# only actually enable on laptops for now.
[ "$CHASSIS_TYPE" = "Portable" ] || exit $NA
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
|