tracing/rb: Convert to hotplug state machine
Install the callbacks via the state machine. The notifier in struct ring_buffer is replaced by the multi instance interface. Upon __ring_buffer_alloc() invocation, cpuhp_state_add_instance() will invoke the trace_rb_cpu_prepare() on each CPU. This callback may now fail. This means __ring_buffer_alloc() will fail and cleanup (like previously) and during a CPU up event this failure will not allow the CPU to come up. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: rt@linutronix.de Link: http://lkml.kernel.org/r/20161126231350.10321-7-bigeasy@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:

committed by
Thomas Gleixner

parent
14660b7ea3
commit
b32614c034
@@ -198,4 +198,10 @@ enum ring_buffer_flags {
|
||||
RB_FL_OVERWRITE = 1 << 0,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_RING_BUFFER
|
||||
int trace_rb_cpu_prepare(unsigned int cpu, struct hlist_node *node);
|
||||
#else
|
||||
#define trace_rb_cpu_prepare NULL
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_RING_BUFFER_H */
|
||||
|
Reference in New Issue
Block a user