On Thu, 19 Jun 2014, Steven Rostedt wrote: > > The idea basically is to *switch* what arch_trigger_all_cpu_backtrace() > > and arch_trigger_all_cpu_backtrace_handler() are doing; i.e. use the NMI > > as a way to stop all the CPUs (one by one), and let the CPU that is > > sending the NMIs around to actually walk and dump the stacks of the CPUs > > receiving the NMI IPI. > > And this is cleaner? Stopping a CPU via NMI and then what happens if > something else goes wrong and that CPU never starts back up? This > sounds like something that can cause more problems than it was > reporting on.
It's going to get NMI in exactly the same situations it does with the current arch_trigger_all_cpu_backtrace(), the only difference being that it doesn't try to invoke printk() from inside NMI. The IPI-NMI is used solely as a point of synchronization for the stack dumping. > Then you also need to print out the data while the NMIs still spin. Exactly, that's actually the whole point. Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

