Merge branch 'tracing/urgent' into tracing/ftrace
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/splice.h>
|
||||
#include <linux/kdebug.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/poll.h>
|
||||
@@ -147,8 +148,7 @@ static int __init set_ftrace_dump_on_oops(char *str)
|
||||
}
|
||||
__setup("ftrace_dump_on_oops", set_ftrace_dump_on_oops);
|
||||
|
||||
long
|
||||
ns2usecs(cycle_t nsec)
|
||||
unsigned long long ns2usecs(cycle_t nsec)
|
||||
{
|
||||
nsec += 500;
|
||||
do_div(nsec, 1000);
|
||||
@@ -1623,7 +1623,11 @@ static void test_cpu_buff_start(struct trace_iterator *iter)
|
||||
return;
|
||||
|
||||
cpumask_set_cpu(iter->cpu, iter->started);
|
||||
trace_seq_printf(s, "##### CPU %u buffer started ####\n", iter->cpu);
|
||||
|
||||
/* Don't print started cpu buffer for the first entry of the trace */
|
||||
if (iter->idx > 1)
|
||||
trace_seq_printf(s, "##### CPU %u buffer started ####\n",
|
||||
iter->cpu);
|
||||
}
|
||||
|
||||
static enum print_line_t print_trace_fmt(struct trace_iterator *iter)
|
||||
@@ -1858,6 +1862,11 @@ __tracing_open(struct inode *inode, struct file *file)
|
||||
if (current_trace)
|
||||
*iter->trace = *current_trace;
|
||||
|
||||
if (!alloc_cpumask_var(&iter->started, GFP_KERNEL))
|
||||
goto fail;
|
||||
|
||||
cpumask_clear(iter->started);
|
||||
|
||||
if (current_trace && current_trace->print_max)
|
||||
iter->tr = &max_tr;
|
||||
else
|
||||
@@ -1908,6 +1917,7 @@ __tracing_open(struct inode *inode, struct file *file)
|
||||
if (iter->buffer_iter[cpu])
|
||||
ring_buffer_read_finish(iter->buffer_iter[cpu]);
|
||||
}
|
||||
free_cpumask_var(iter->started);
|
||||
fail:
|
||||
mutex_unlock(&trace_types_lock);
|
||||
kfree(iter->trace);
|
||||
@@ -1951,6 +1961,7 @@ static int tracing_release(struct inode *inode, struct file *file)
|
||||
|
||||
seq_release(inode, file);
|
||||
mutex_destroy(&iter->mutex);
|
||||
free_cpumask_var(iter->started);
|
||||
kfree(iter->trace);
|
||||
kfree(iter);
|
||||
return 0;
|
||||
@@ -2349,9 +2360,9 @@ static const char readme_msg[] =
|
||||
"# mkdir /debug\n"
|
||||
"# mount -t debugfs nodev /debug\n\n"
|
||||
"# cat /debug/tracing/available_tracers\n"
|
||||
"wakeup preemptirqsoff preemptoff irqsoff ftrace sched_switch none\n\n"
|
||||
"wakeup preemptirqsoff preemptoff irqsoff function sched_switch nop\n\n"
|
||||
"# cat /debug/tracing/current_tracer\n"
|
||||
"none\n"
|
||||
"nop\n"
|
||||
"# echo sched_switch > /debug/tracing/current_tracer\n"
|
||||
"# cat /debug/tracing/current_tracer\n"
|
||||
"sched_switch\n"
|
||||
|
Reference in New Issue
Block a user