mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	This patch ports ftrace over to the new ring buffer. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
		
			
				
	
	
		
			64 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * nop tracer
 | 
						|
 *
 | 
						|
 * Copyright (C) 2008 Steven Noonan <steven@uplinklabs.net>
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#include <linux/module.h>
 | 
						|
#include <linux/fs.h>
 | 
						|
#include <linux/debugfs.h>
 | 
						|
#include <linux/ftrace.h>
 | 
						|
 | 
						|
#include "trace.h"
 | 
						|
 | 
						|
static struct trace_array	*ctx_trace;
 | 
						|
 | 
						|
static void start_nop_trace(struct trace_array *tr)
 | 
						|
{
 | 
						|
	/* Nothing to do! */
 | 
						|
}
 | 
						|
 | 
						|
static void stop_nop_trace(struct trace_array *tr)
 | 
						|
{
 | 
						|
	/* Nothing to do! */
 | 
						|
}
 | 
						|
 | 
						|
static void nop_trace_init(struct trace_array *tr)
 | 
						|
{
 | 
						|
	int cpu;
 | 
						|
	ctx_trace = tr;
 | 
						|
 | 
						|
	for_each_online_cpu(cpu)
 | 
						|
		tracing_reset(tr, cpu);
 | 
						|
 | 
						|
	if (tr->ctrl)
 | 
						|
		start_nop_trace(tr);
 | 
						|
}
 | 
						|
 | 
						|
static void nop_trace_reset(struct trace_array *tr)
 | 
						|
{
 | 
						|
	if (tr->ctrl)
 | 
						|
		stop_nop_trace(tr);
 | 
						|
}
 | 
						|
 | 
						|
static void nop_trace_ctrl_update(struct trace_array *tr)
 | 
						|
{
 | 
						|
	/* When starting a new trace, reset the buffers */
 | 
						|
	if (tr->ctrl)
 | 
						|
		start_nop_trace(tr);
 | 
						|
	else
 | 
						|
		stop_nop_trace(tr);
 | 
						|
}
 | 
						|
 | 
						|
struct tracer nop_trace __read_mostly =
 | 
						|
{
 | 
						|
	.name		= "nop",
 | 
						|
	.init		= nop_trace_init,
 | 
						|
	.reset		= nop_trace_reset,
 | 
						|
	.ctrl_update	= nop_trace_ctrl_update,
 | 
						|
#ifdef CONFIG_FTRACE_SELFTEST
 | 
						|
	.selftest	= trace_selftest_startup_nop,
 | 
						|
#endif
 | 
						|
};
 | 
						|
 |