• Peter Zijlstra's avatar
    smp/hotplug: Hotplug state fail injection · 1db49484
    Peter Zijlstra authored
    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: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: default avatarThomas 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
    
    1db49484
cpuhotplug.h 11.7 KB