Lines Matching +full:1 +full:- +full:cpu

2 # SPDX-License-Identifier: GPL-2.0
5 # Kselftest framework requirement - SKIP code is 4.
18 taskset -p 01 $$
20 SYSFS=`mount -t sysfs | head -1 | awk '{ print $3 }'`
22 if [ ! -d "$SYSFS" ]; then
27 if ! ls $SYSFS/devices/system/cpu/cpu* > /dev/null 2>&1; then
28 echo $msg cpu hotplug is not supported >&2
32 echo "CPU online/offline summary:"
33 online_cpus=`cat $SYSFS/devices/system/cpu/online`
34 online_max=${online_cpus##*-}
37 echo "$msg: since there is only one cpu: $online_cpus"
41 present_cpus=`cat $SYSFS/devices/system/cpu/present`
42 present_max=${present_cpus##*-}
45 echo -e "\t Cpus in online state: $online_cpus"
47 offline_cpus=`cat $SYSFS/devices/system/cpu/offline`
51 offline_max=${offline_cpus##*-}
53 echo -e "\t Cpus in offline state: $offline_cpus"
57 # list all hot-pluggable CPUs
61 local state=${1:-.\*}
63 for cpu in $SYSFS/devices/system/cpu/cpu*; do
64 if [ -f $cpu/online ] && grep -q $state $cpu/online; then
65 echo ${cpu##/*/cpu}
77 hotpluggable_cpus 1
82 grep -q 1 $SYSFS/devices/system/cpu/cpu$1/online
87 grep -q 0 $SYSFS/devices/system/cpu/cpu$1/online
92 echo 1 > $SYSFS/devices/system/cpu/cpu$1/online
97 echo 0 > $SYSFS/devices/system/cpu/cpu$1/online
102 local cpu=$1
104 if ! online_cpu $cpu; then
105 echo $FUNCNAME $cpu: unexpected fail >&2
106 retval=1
107 elif ! cpu_is_online $cpu; then
108 echo $FUNCNAME $cpu: unexpected offline >&2
109 retval=1
115 local cpu=$1
117 if online_cpu $cpu 2> /dev/null; then
118 echo $FUNCNAME $cpu: unexpected success >&2
119 retval=1
120 elif ! cpu_is_offline $cpu; then
121 echo $FUNCNAME $cpu: unexpected online >&2
122 retval=1
128 local cpu=$1
130 if ! offline_cpu $cpu; then
131 echo $FUNCNAME $cpu: unexpected fail >&2
132 retval=1
133 elif ! cpu_is_offline $cpu; then
134 echo $FUNCNAME $cpu: unexpected offline >&2
135 retval=1
141 local cpu=$1
143 if offline_cpu $cpu 2> /dev/null; then
144 echo $FUNCNAME $cpu: unexpected success >&2
145 retval=1
146 elif ! cpu_is_online $cpu; then
147 echo $FUNCNAME $cpu: unexpected offline >&2
148 retval=1
154 for cpu in `hotplaggable_offline_cpus`; do
155 online_cpu_expect_success $cpu
162 for cpu in `hotpluggable_online_cpus`; do
163 # Reserve one cpu oneline at least.
164 if [ $cpu -eq $reserve_cpu ];then
167 offline_cpu_expect_success $cpu
182 allcpus=1
185 echo "Usage $0 [ -a ]"
186 echo -e "\t default offline one cpu"
187 echo -e "\t run with -a option to offline all cpus"
196 # Safe test (default) - offline and online one cpu
198 if [ $allcpus -eq 0 ]; then
199 echo "Limited scope test: one hotplug cpu"
200 echo -e "\t (leaves cpu in the original state):"
201 echo -e "\t online to offline to online: cpu $online_max"
205 if [[ $offline_cpus -gt 0 ]]; then
206 echo -e "\t online to offline to online: cpu $present_max"
214 echo -e "\t online all offline cpus"
215 echo -e "\t offline all online cpus"
216 echo -e "\t online all offline cpus"