blob: ad8ed48b7fda1898d1d1004783dbb87754f29d2b (
plain)
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
86
87
88
89
90
91
|
#!/bin/bash
#
# CPU helpers
# protect against multiple inclusion
if [ $FILE_CPU ]; then
return 0
else
FILE_CPU=DONE
fi
source cpufreq.sh
offline_cpu()
{
echo 0 > /sys/devices/system/cpu/$1/online
}
online_cpu()
{
echo 1 > /sys/devices/system/cpu/$1/online
}
offline_online_cpu()
{
offline_cpu $1
online_cpu $1
}
# Offline + online CPUs
# param: number of times we want to run the loop
hotplug_1_by_1()
{
echo "** Test: Running ${FUNCNAME[0]} for $1 loops **"
echo ""
for i in `seq 1 $1`; do
for_each_non_boot_cpu offline_online_cpu
done
echo "------------------------------------------------"
echo ""
}
# Offline all CPUs, followed by online all CPUs
# param: number of times we want to run the loop
hotplug_together()
{
echo "** Test: Running ${FUNCNAME[0]} for $1 loops **"
echo ""
for i in `seq 1 $1`; do
for_each_non_boot_cpu offline_cpu
for_each_non_boot_cpu online_cpu
done
echo "------------------------------------------------"
echo ""
}
for_each_cpu() {
cpus=$(ls $CPU_PATH | grep "cpu[0-9].*")
for cpu in $cpus; do
$@ $cpu
done
}
for_each_non_boot_cpu() {
cpus=$(ls $CPU_PATH | grep "cpu[1-9].*")
for cpu in $cpus; do
$@ $cpu
done
}
# Prints warning for all CPUs with missing cpufreq directory
print_unmanaged_cpus()
{
for_each_cpu cpu_has_cpufreq_directory
}
# Counts CPUs with cpufreq directories
count_cpufreq_managed_cpus()
{
count=0;
for cpu in `ls $CPU_PATH | grep "cpu[0-9].*"`; do
if [ -d /sys/devices/system/cpu/$cpu/cpufreq ]; then
let count=count+1;
fi
done
echo $count;
}
|