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