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