1e66d5b67SViresh Kumar#!/bin/bash 2e66d5b67SViresh Kumar# 3e66d5b67SViresh Kumar# CPU helpers 4e66d5b67SViresh Kumar 5e66d5b67SViresh Kumar# protect against multiple inclusion 6e66d5b67SViresh Kumarif [ $FILE_CPU ]; then 7e66d5b67SViresh Kumar return 0 8e66d5b67SViresh Kumarelse 9e66d5b67SViresh Kumar FILE_CPU=DONE 10e66d5b67SViresh Kumarfi 11e66d5b67SViresh Kumar 12e66d5b67SViresh Kumarsource cpufreq.sh 13e66d5b67SViresh Kumar 14e66d5b67SViresh Kumarfor_each_cpu() 15e66d5b67SViresh Kumar{ 16e66d5b67SViresh Kumar cpus=$(ls $CPUROOT | grep "cpu[0-9].*") 17e66d5b67SViresh Kumar for cpu in $cpus; do 18e66d5b67SViresh Kumar $@ $cpu 19e66d5b67SViresh Kumar done 20e66d5b67SViresh Kumar} 21e66d5b67SViresh Kumar 22e66d5b67SViresh Kumarfor_each_non_boot_cpu() 23e66d5b67SViresh Kumar{ 24e66d5b67SViresh Kumar cpus=$(ls $CPUROOT | grep "cpu[1-9].*") 25e66d5b67SViresh Kumar for cpu in $cpus; do 26e66d5b67SViresh Kumar $@ $cpu 27e66d5b67SViresh Kumar done 28e66d5b67SViresh Kumar} 29e66d5b67SViresh Kumar 30e66d5b67SViresh Kumar#$1: cpu 31e66d5b67SViresh Kumaroffline_cpu() 32e66d5b67SViresh Kumar{ 33e66d5b67SViresh Kumar printf "Offline $1\n" 34e66d5b67SViresh Kumar echo 0 > $CPUROOT/$1/online 35e66d5b67SViresh Kumar} 36e66d5b67SViresh Kumar 37e66d5b67SViresh Kumar#$1: cpu 38e66d5b67SViresh Kumaronline_cpu() 39e66d5b67SViresh Kumar{ 40e66d5b67SViresh Kumar printf "Online $1\n" 41e66d5b67SViresh Kumar echo 1 > $CPUROOT/$1/online 42e66d5b67SViresh Kumar} 43e66d5b67SViresh Kumar 44e66d5b67SViresh Kumar#$1: cpu 45e66d5b67SViresh Kumarreboot_cpu() 46e66d5b67SViresh Kumar{ 47e66d5b67SViresh Kumar offline_cpu $1 48e66d5b67SViresh Kumar online_cpu $1 49e66d5b67SViresh Kumar} 50e66d5b67SViresh Kumar 51e66d5b67SViresh Kumar# Reboot CPUs 52e66d5b67SViresh Kumar# param: number of times we want to run the loop 53e66d5b67SViresh Kumarreboot_cpus() 54e66d5b67SViresh Kumar{ 55e66d5b67SViresh Kumar printf "** Test: Running ${FUNCNAME[0]} for $1 loops **\n\n" 56e66d5b67SViresh Kumar 57e66d5b67SViresh Kumar for i in `seq 1 $1`; do 58e66d5b67SViresh Kumar for_each_non_boot_cpu offline_cpu 59e66d5b67SViresh Kumar for_each_non_boot_cpu online_cpu 60e66d5b67SViresh Kumar printf "\n" 61e66d5b67SViresh Kumar done 62e66d5b67SViresh Kumar 63e66d5b67SViresh Kumar printf "\n%s\n\n" "------------------------------------------------" 64e66d5b67SViresh Kumar} 65e66d5b67SViresh Kumar 66e66d5b67SViresh Kumar# Prints warning for all CPUs with missing cpufreq directory 67e66d5b67SViresh Kumarprint_unmanaged_cpus() 68e66d5b67SViresh Kumar{ 69e66d5b67SViresh Kumar for_each_cpu cpu_should_have_cpufreq_directory 70e66d5b67SViresh Kumar} 71e66d5b67SViresh Kumar 72e66d5b67SViresh Kumar# Counts CPUs with cpufreq directories 73e66d5b67SViresh Kumarcount_cpufreq_managed_cpus() 74e66d5b67SViresh Kumar{ 75e66d5b67SViresh Kumar count=0; 76e66d5b67SViresh Kumar 77e66d5b67SViresh Kumar for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`; do 78e66d5b67SViresh Kumar if [ -d $CPUROOT/$cpu/cpufreq ]; then 79e66d5b67SViresh Kumar let count=count+1; 80e66d5b67SViresh Kumar fi 81e66d5b67SViresh Kumar done 82e66d5b67SViresh Kumar 83e66d5b67SViresh Kumar echo $count; 84e66d5b67SViresh Kumar} 85