#!/system/bin/sh interval=0.5 path="/sys/devices/system/cpu/cpu" n_cpu=`ls /sys/devices/system/cpu | grep "^cpu[0-9]" | wc -l` n_policy=`ls /sys/devices/system/cpu/cpufreq | grep "^policy[0-9]" | wc -l` function random_hotplug(){ let n_cpu-=1 local ret=0 while [ 1 ] do let ret=$RANDOM%$n_cpu let ret+=1 local online=`cat $path$ret"/online"` [ "$online" = "0" ] && cm=1 || cm=0 online_cpus get_cpus=$? if [ "$cm" = "1" ];then echo $cm > $path$ret"/online" echo "online_cpu_count=$get_cpus n_policy=$n_policy $path$ret/online $cm $online `cat $path$ret/online` `cat /sys/devices/system/cpu/online`" sleep $interval else if [ "$get_cpus" -gt "2" ];then echo $cm > $path$ret"/online" echo "online_cpu_count=$get_cpus n_policy=$n_policy $path$ret/online $cm $online `cat $path$ret/online` `cat /sys/devices/system/cpu/online`" sleep $interval else echo "online_cpu_count=[ $get_cpus -lt 2 ], n_policy=$n_policy , next loop, $path$ret/online $cm $online `cat $path$ret/online` `cat /sys/devices/system/cpu/online`" fi fi done } function online_cpus(){ local cpu_count=1 for i in `seq 1 $n_cpu` do [ "`cat $path${i}/online`" -eq "1" ] && let cpu_count=cpu_count+1 done return $cpu_count } random_hotplug