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