 9510035849
			
		
	
	
	9510035849
	
	
	
		
			
			Add a printk.console trace point to record any printk messages into the trace, regardless of the current console loglevel. This can help correlate (existing) printk debugging with other tracing. Link: http://lkml.kernel.org/r/1322161388.5366.54.camel@jlt3.sipsolutions.net Acked-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Ingo Molnar <mingo@redhat.com> Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #undef TRACE_SYSTEM
 | |
| #define TRACE_SYSTEM printk
 | |
| 
 | |
| #if !defined(_TRACE_PRINTK_H) || defined(TRACE_HEADER_MULTI_READ)
 | |
| #define _TRACE_PRINTK_H
 | |
| 
 | |
| #include <linux/tracepoint.h>
 | |
| 
 | |
| TRACE_EVENT_CONDITION(console,
 | |
| 	TP_PROTO(const char *log_buf, unsigned start, unsigned end,
 | |
| 		 unsigned log_buf_len),
 | |
| 
 | |
| 	TP_ARGS(log_buf, start, end, log_buf_len),
 | |
| 
 | |
| 	TP_CONDITION(start != end),
 | |
| 
 | |
| 	TP_STRUCT__entry(
 | |
| 		__dynamic_array(char, msg, end - start + 1)
 | |
| 	),
 | |
| 
 | |
| 	TP_fast_assign(
 | |
| 		if ((start & (log_buf_len - 1)) > (end & (log_buf_len - 1))) {
 | |
| 			memcpy(__get_dynamic_array(msg),
 | |
| 			       log_buf + (start & (log_buf_len - 1)),
 | |
| 			       log_buf_len - (start & (log_buf_len - 1)));
 | |
| 			memcpy((char *)__get_dynamic_array(msg) +
 | |
| 			       log_buf_len - (start & (log_buf_len - 1)),
 | |
| 			       log_buf, end & (log_buf_len - 1));
 | |
| 		} else
 | |
| 			memcpy(__get_dynamic_array(msg),
 | |
| 			       log_buf + (start & (log_buf_len - 1)),
 | |
| 			       end - start);
 | |
| 		((char *)__get_dynamic_array(msg))[end - start] = 0;
 | |
| 	),
 | |
| 
 | |
| 	TP_printk("%s", __get_str(msg))
 | |
| );
 | |
| #endif /* _TRACE_PRINTK_H */
 | |
| 
 | |
| /* This part must be outside protection */
 | |
| #include <trace/define_trace.h>
 |