offline_cpus=`cat $SYSFS/devices/system/cpu/offline` if [[ "a$offline_cpus" = "a" ]]; then
offline_cpus=0 else
offline_max=${offline_cpus##*-} fi echo -e "\t Cpus in offline state: $offline_cpus"
}
# # list all hot-pluggable CPUs #
hotpluggable_cpus()
{
local state=${1:-.\*}
for cpu in $SYSFS/devices/system/cpu/cpu*; do if [ -f $cpu/online ] && grep -q $state $cpu/online; then echo ${cpu##/*/cpu} fi done
}
if ! online_cpu $cpu; then echo $FUNCNAME $cpu: unexpected fail >&2
retval=1 elif ! cpu_is_online $cpu; then echo $FUNCNAME $cpu: unexpected offline >&2
retval=1 fi
}
online_cpu_expect_fail()
{
local cpu=$1
if online_cpu $cpu 2> /dev/null; then echo $FUNCNAME $cpu: unexpected success >&2
retval=1 elif ! cpu_is_offline $cpu; then echo $FUNCNAME $cpu: unexpected online >&2
retval=1 fi
}
offline_cpu_expect_success()
{
local cpu=$1
if ! offline_cpu $cpu; then echo $FUNCNAME $cpu: unexpected fail >&2
retval=1 elif ! cpu_is_offline $cpu; then echo $FUNCNAME $cpu: unexpected offline >&2
retval=1 fi
}
offline_cpu_expect_fail()
{
local cpu=$1
if offline_cpu $cpu 2> /dev/null; then echo $FUNCNAME $cpu: unexpected success >&2
retval=1 elif ! cpu_is_online $cpu; then echo $FUNCNAME $cpu: unexpected offline >&2
retval=1 fi
}
online_all_hot_pluggable_cpus()
{ for cpu in `hotpluggable_offline_cpus`; do
online_cpu_expect_success $cpu done
}
offline_all_hot_pluggable_cpus()
{
local reserve_cpu=$online_max for cpu in `hotpluggable_online_cpus`; do # Reserve one cpu oneline at least. if [ $cpu -eq $reserve_cpu ];then
continue fi
offline_cpu_expect_success $cpu done
}
while getopts ah opt; do
case $opt in
a)
allcpus=1
;;
h) echo"Usage $0 [ -a ]" echo -e "\t default offline one cpu" echo -e "\t run with -a option to offline all cpus"
exit
;;
esac done
prerequisite
# # Safe test (default) - offline and online one cpu # if [ $allcpus -eq 0 ]; then echo"Limited scope test: one hotplug cpu" echo -e "\t (leaves cpu in the original state):" echo -e "\t online to offline to online: cpu $online_max"
offline_cpu_expect_success $online_max
online_cpu_expect_success $online_max
if [[ $offline_cpus -gt 0 ]]; then echo -e "\t online to offline to online: cpu $present_max"
online_cpu_expect_success $present_max
offline_cpu_expect_success $present_max
online_cpu $present_max fi
exit $retval else echo"Full scope test: all hotplug cpus" echo -e "\t online all offline cpus" echo -e "\t offline all online cpus" echo -e "\t online all offline cpus" fi
online_all_hot_pluggable_cpus
offline_all_hot_pluggable_cpus
online_all_hot_pluggable_cpus
exit $retval
Messung V0.5
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.