Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 116628
b: refs/heads/master
c: 43a1538
h: refs/heads/master
v: v3
  • Loading branch information
Frédéric Weisbecker authored and Ingo Molnar committed Oct 14, 2008
1 parent 5140c1e commit d029e76
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 47 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2a3a4f669df2164288d11406d11d5e4933bf5e53
refs/heads/master: 43a15386c4faf913f7d70a47748c266d6210cd6e
49 changes: 9 additions & 40 deletions trunk/kernel/trace/trace.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,24 +142,6 @@ static DECLARE_WAIT_QUEUE_HEAD(trace_wait);
/* trace_flags holds iter_ctrl options */
unsigned long trace_flags = TRACE_ITER_PRINT_PARENT;

static notrace void no_trace_init(struct trace_array *tr)
{
int cpu;

ftrace_function_enabled = 0;
if(tr->ctrl)
for_each_online_cpu(cpu)
tracing_reset(tr->data[cpu]);
tracer_enabled = 0;
}

/* dummy trace to disable tracing */
static struct tracer no_tracer __read_mostly = {
.name = "none",
.init = no_trace_init
};


/**
* trace_wake_up - wake up tasks waiting for trace input
*
Expand Down Expand Up @@ -962,7 +944,7 @@ ftrace_special(unsigned long arg1, unsigned long arg2, unsigned long arg3)
long disabled;
int cpu;

if (tracing_disabled || current_trace == &no_tracer || !tr->ctrl)
if (tracing_disabled || !tr->ctrl)
return;

local_irq_save(flags);
Expand Down Expand Up @@ -2795,6 +2777,7 @@ tracing_entries_write(struct file *filp, const char __user *ubuf,
unsigned long val;
char buf[64];
int i, ret;
struct trace_array *tr = filp->private_data;

if (cnt >= sizeof(buf))
return -EINVAL;
Expand All @@ -2814,9 +2797,9 @@ tracing_entries_write(struct file *filp, const char __user *ubuf,

mutex_lock(&trace_types_lock);

if (current_trace != &no_tracer) {
if (tr->ctrl) {
cnt = -EBUSY;
pr_info("ftrace: set current_tracer to none"
pr_info("ftrace: please disable tracing"
" before modifying buffer size\n");
goto out;
}
Expand Down Expand Up @@ -2879,20 +2862,6 @@ tracing_entries_write(struct file *filp, const char __user *ubuf,
return cnt;
}

static int tracing_open_mark(struct inode *inode, struct file *filp)
{
int ret;

ret = tracing_open_generic(inode, filp);
if (ret)
return ret;

if (current_trace == &no_tracer)
return -ENODEV;

return 0;
}

static int mark_printk(const char *fmt, ...)
{
int ret;
Expand All @@ -2911,7 +2880,7 @@ tracing_mark_write(struct file *filp, const char __user *ubuf,
char *end;
struct trace_array *tr = &global_trace;

if (current_trace == &no_tracer || !tr->ctrl || tracing_disabled)
if (!tr->ctrl || tracing_disabled)
return -EINVAL;

if (cnt > TRACE_BUF_SIZE)
Expand Down Expand Up @@ -2971,7 +2940,7 @@ static struct file_operations tracing_entries_fops = {
};

static struct file_operations tracing_mark_fops = {
.open = tracing_open_mark,
.open = tracing_open_generic,
.write = tracing_mark_write,
};

Expand Down Expand Up @@ -3123,7 +3092,7 @@ int trace_vprintk(unsigned long ip, const char *fmt, va_list args)
long disabled;
int cpu, len = 0, write, written = 0;

if (current_trace == &no_tracer || !tr->ctrl || tracing_disabled)
if (!tr->ctrl || tracing_disabled)
return 0;

local_irq_save(flags);
Expand Down Expand Up @@ -3539,8 +3508,8 @@ __init static int tracer_alloc_buffers(void)

trace_init_cmdlines();

register_tracer(&no_tracer);
current_trace = &no_tracer;
register_tracer(&nop_trace);
current_trace = &nop_trace;

/* All seems OK, enable tracing */
global_trace.ctrl = tracer_enabled;
Expand Down
2 changes: 2 additions & 0 deletions trunk/kernel/trace/trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -369,4 +369,6 @@ enum trace_iterator_flags {
TRACE_ITER_PRINTK = 0x400,
};

extern struct tracer nop_trace;

#endif /* _LINUX_KERNEL_TRACE_H */
7 changes: 1 addition & 6 deletions trunk/kernel/trace/trace_nop.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ static void nop_trace_ctrl_update(struct trace_array *tr)
stop_nop_trace(tr);
}

static struct tracer nop_trace __read_mostly =
struct tracer nop_trace __read_mostly =
{
.name = "nop",
.init = nop_trace_init,
Expand All @@ -62,8 +62,3 @@ static struct tracer nop_trace __read_mostly =
#endif
};

__init static int init_nop_trace(void)
{
return register_tracer(&nop_trace);
}
device_initcall(init_nop_trace);

0 comments on commit d029e76

Please sign in to comment.