diff options
Diffstat (limited to 'deps/v8/tools/cpu.sh')
-rwxr-xr-x | deps/v8/tools/cpu.sh | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/deps/v8/tools/cpu.sh b/deps/v8/tools/cpu.sh new file mode 100755 index 0000000000..8e8a243c60 --- /dev/null +++ b/deps/v8/tools/cpu.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# Copyright 2014 the V8 project authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +CPUPATH=/sys/devices/system/cpu + +MAXID=$(cat $CPUPATH/present | awk -F- '{print $NF}') + +set_governor() { + echo "Setting CPU frequency governor to \"$1\"" + for (( i=0; i<=$MAXID; i++ )); do + echo "$1" > $CPUPATH/cpu$i/cpufreq/scaling_governor + done +} + +dual_core() { + echo "Switching to dual-core mode" + for (( i=2; i<=$MAXID; i++ )); do + echo 0 > $CPUPATH/cpu$i/online + done +} + +single_core() { + echo "Switching to single-core mode" + for (( i=1; i<=$MAXID; i++ )); do + echo 0 > $CPUPATH/cpu$i/online + done +} + + +all_cores() { + echo "Reactivating all CPU cores" + for (( i=2; i<=$MAXID; i++ )); do + echo 1 > $CPUPATH/cpu$i/online + done +} + +case "$1" in + fast | performance) + set_governor "performance" + ;; + slow | powersave) + set_governor "powersave" + ;; + default | ondemand) + set_governor "ondemand" + ;; + dualcore | dual) + dual_core + ;; + singlecore | single) + single_core + ;; + allcores | all) + all_cores + ;; + *) + echo "Usage: $0 fast|slow|default|singlecore|dualcore|all" + exit 1 + ;; +esac |