1 #!/bin/bash 1 #!/bin/bash 2 # SPDX-License-Identifier: GPL-2.0 2 # SPDX-License-Identifier: GPL-2.0 3 # 3 # 4 # CPU helpers 4 # CPU helpers 5 5 6 # protect against multiple inclusion 6 # protect against multiple inclusion 7 if [ $FILE_CPU ]; then 7 if [ $FILE_CPU ]; then 8 return 0 8 return 0 9 else 9 else 10 FILE_CPU=DONE 10 FILE_CPU=DONE 11 fi 11 fi 12 12 13 source cpufreq.sh 13 source cpufreq.sh 14 14 15 for_each_cpu() 15 for_each_cpu() 16 { 16 { 17 cpus=$(ls $CPUROOT | grep "cpu[0-9].*" 17 cpus=$(ls $CPUROOT | grep "cpu[0-9].*") 18 for cpu in $cpus; do 18 for cpu in $cpus; do 19 $@ $cpu 19 $@ $cpu 20 done 20 done 21 } 21 } 22 22 23 for_each_non_boot_cpu() 23 for_each_non_boot_cpu() 24 { 24 { 25 cpus=$(ls $CPUROOT | grep "cpu[1-9].*" 25 cpus=$(ls $CPUROOT | grep "cpu[1-9].*") 26 for cpu in $cpus; do 26 for cpu in $cpus; do 27 $@ $cpu 27 $@ $cpu 28 done 28 done 29 } 29 } 30 30 31 #$1: cpu 31 #$1: cpu 32 offline_cpu() 32 offline_cpu() 33 { 33 { 34 printf "Offline $1\n" 34 printf "Offline $1\n" 35 echo 0 > $CPUROOT/$1/online 35 echo 0 > $CPUROOT/$1/online 36 } 36 } 37 37 38 #$1: cpu 38 #$1: cpu 39 online_cpu() 39 online_cpu() 40 { 40 { 41 printf "Online $1\n" 41 printf "Online $1\n" 42 echo 1 > $CPUROOT/$1/online 42 echo 1 > $CPUROOT/$1/online 43 } 43 } 44 44 45 #$1: cpu 45 #$1: cpu 46 reboot_cpu() 46 reboot_cpu() 47 { 47 { 48 offline_cpu $1 48 offline_cpu $1 49 online_cpu $1 49 online_cpu $1 50 } 50 } 51 51 52 # Reboot CPUs 52 # Reboot CPUs 53 # param: number of times we want to run the lo 53 # param: number of times we want to run the loop 54 reboot_cpus() 54 reboot_cpus() 55 { 55 { 56 printf "** Test: Running ${FUNCNAME[0] 56 printf "** Test: Running ${FUNCNAME[0]} for $1 loops **\n\n" 57 57 58 for i in `seq 1 $1`; do 58 for i in `seq 1 $1`; do 59 for_each_non_boot_cpu offline_ 59 for_each_non_boot_cpu offline_cpu 60 for_each_non_boot_cpu online_c 60 for_each_non_boot_cpu online_cpu 61 printf "\n" 61 printf "\n" 62 done 62 done 63 63 64 printf "\n%s\n\n" "------------------- 64 printf "\n%s\n\n" "------------------------------------------------" 65 } 65 } 66 66 67 # Prints warning for all CPUs with missing cpu 67 # Prints warning for all CPUs with missing cpufreq directory 68 print_unmanaged_cpus() 68 print_unmanaged_cpus() 69 { 69 { 70 for_each_cpu cpu_should_have_cpufreq_d 70 for_each_cpu cpu_should_have_cpufreq_directory 71 } 71 } 72 72 73 # Counts CPUs with cpufreq directories 73 # Counts CPUs with cpufreq directories 74 count_cpufreq_managed_cpus() 74 count_cpufreq_managed_cpus() 75 { 75 { 76 count=0; 76 count=0; 77 77 78 for cpu in `ls $CPUROOT | grep "cpu[0- 78 for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`; do 79 if [ -d $CPUROOT/$cpu/cpufreq 79 if [ -d $CPUROOT/$cpu/cpufreq ]; then 80 let count=count+1; 80 let count=count+1; 81 fi 81 fi 82 done 82 done 83 83 84 echo $count; 84 echo $count; 85 } 85 }
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.