diff options
author | Peter Zijlstra | 2017-09-20 19:00:21 +0200 |
---|---|---|
committer | Thomas Gleixner | 2017-09-25 22:11:44 +0200 |
commit | 1db49484f21ed0fcdadd0635a3669f5f386546fa (patch) | |
tree | 533d9d2c340550a1b60bafcf77eff90fce1fe409 /include/linux/cpuhotplug.h | |
parent | smp/hotplug: Differentiate the AP completion between up and down (diff) | |
download | kernel-qcow2-linux-1db49484f21ed0fcdadd0635a3669f5f386546fa.tar.gz kernel-qcow2-linux-1db49484f21ed0fcdadd0635a3669f5f386546fa.tar.xz kernel-qcow2-linux-1db49484f21ed0fcdadd0635a3669f5f386546fa.zip |
smp/hotplug: Hotplug state fail injection
Add a sysfs file to one-time fail a specific state. This can be used
to test the state rollback code paths.
Something like this (hotplug-up.sh):
#!/bin/bash
echo 0 > /debug/sched_debug
echo 1 > /debug/tracing/events/cpuhp/enable
ALL_STATES=`cat /sys/devices/system/cpu/hotplug/states | cut -d':' -f1`
STATES=${1:-$ALL_STATES}
for state in $STATES
do
echo 0 > /sys/devices/system/cpu/cpu1/online
echo 0 > /debug/tracing/trace
echo Fail state: $state
echo $state > /sys/devices/system/cpu/cpu1/hotplug/fail
cat /sys/devices/system/cpu/cpu1/hotplug/fail
echo 1 > /sys/devices/system/cpu/cpu1/online
cat /debug/tracing/trace > hotfail-${state}.trace
sleep 1
done
Can be used to test for all possible rollback (barring multi-instance)
scenarios on CPU-up, CPU-down is a trivial modification of the above.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: bigeasy@linutronix.de
Cc: efault@gmx.de
Cc: rostedt@goodmis.org
Cc: max.byungchul.park@gmail.com
Link: https://lkml.kernel.org/r/20170920170546.972581715@infradead.org
Diffstat (limited to 'include/linux/cpuhotplug.h')
-rw-r--r-- | include/linux/cpuhotplug.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h index 477b2e6f60f7..6d508767e144 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h @@ -22,7 +22,8 @@ */ enum cpuhp_state { - CPUHP_OFFLINE, + CPUHP_INVALID = -1, + CPUHP_OFFLINE = 0, CPUHP_CREATE_THREADS, CPUHP_PERF_PREPARE, CPUHP_PERF_X86_PREPARE, |