-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 100420 b: refs/heads/master c: 1b29b01 h: refs/heads/master v: v3
- Loading branch information
Steven Rostedt
authored and
Thomas Gleixner
committed
May 23, 2008
1 parent
c201572
commit 8478e58
Showing
4 changed files
with
88 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: bc0c38d139ec7fcd5c030aea16b008f3732e42ac | ||
refs/heads/master: 1b29b01887e6032dcaf818c14999c7a39593b4e7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
obj-$(CONFIG_FTRACE) += libftrace.o | ||
|
||
obj-$(CONFIG_TRACING) += trace.o | ||
obj-$(CONFIG_FTRACE) += trace_functions.o | ||
|
||
libftrace-y := ftrace.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
/* | ||
* ring buffer based function tracer | ||
* | ||
* Copyright (C) 2007-2008 Steven Rostedt <srostedt@redhat.com> | ||
* Copyright (C) 2008 Ingo Molnar <mingo@redhat.com> | ||
* | ||
* Based on code from the latency_tracer, that is: | ||
* | ||
* Copyright (C) 2004-2006 Ingo Molnar | ||
* Copyright (C) 2004 William Lee Irwin III | ||
*/ | ||
#include <linux/fs.h> | ||
#include <linux/debugfs.h> | ||
#include <linux/uaccess.h> | ||
#include <linux/ftrace.h> | ||
|
||
#include "trace.h" | ||
|
||
static notrace void function_reset(struct trace_array *tr) | ||
{ | ||
int cpu; | ||
|
||
tr->time_start = now(tr->cpu); | ||
|
||
for_each_online_cpu(cpu) | ||
tracing_reset(tr->data[cpu]); | ||
} | ||
|
||
static notrace void start_function_trace(struct trace_array *tr) | ||
{ | ||
function_reset(tr); | ||
tracing_start_function_trace(); | ||
} | ||
|
||
static notrace void stop_function_trace(struct trace_array *tr) | ||
{ | ||
tracing_stop_function_trace(); | ||
} | ||
|
||
static notrace void function_trace_init(struct trace_array *tr) | ||
{ | ||
if (tr->ctrl) | ||
start_function_trace(tr); | ||
} | ||
|
||
static notrace void function_trace_reset(struct trace_array *tr) | ||
{ | ||
if (tr->ctrl) | ||
stop_function_trace(tr); | ||
} | ||
|
||
static notrace void function_trace_ctrl_update(struct trace_array *tr) | ||
{ | ||
if (tr->ctrl) | ||
start_function_trace(tr); | ||
else | ||
stop_function_trace(tr); | ||
} | ||
|
||
static struct tracer function_trace __read_mostly = | ||
{ | ||
.name = "ftrace", | ||
.init = function_trace_init, | ||
.reset = function_trace_reset, | ||
.ctrl_update = function_trace_ctrl_update, | ||
}; | ||
|
||
static __init int init_function_trace(void) | ||
{ | ||
return register_tracer(&function_trace); | ||
} | ||
|
||
device_initcall(init_function_trace); |