tracing: Reduce latency and remove percpu trace_seq
authorLai Jiangshan <laijs@cn.fujitsu.com>
Thu, 3 Jun 2010 10:26:24 +0000 (18:26 +0800)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 21 Jul 2010 02:05:34 +0000 (22:05 -0400)
commitbc289ae98b75d93228d24f521ef02a076e506e94
tree50d151d0fbde1b106932c0f80a2639839d261ca3
parent985023dee6e212493831431ba2e3ce8918f001b2
tracing: Reduce latency and remove percpu trace_seq

__print_flags() and __print_symbolic() use percpu trace_seq:

1) Its memory is allocated at compile time, it wastes memory if we don't use tracing.
2) It is percpu data and it wastes more memory for multi-cpus system.
3) It disables preemption when it executes its core routine
   "trace_seq_printf(s, "%s: ", #call);" and introduces latency.

So we move this trace_seq to struct trace_iterator.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
LKML-Reference: <4C078350.7090106@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ftrace_event.h
include/trace/ftrace.h
kernel/trace/trace_output.c