Skip to content

Commit

Permalink
Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/sc…
Browse files Browse the repository at this point in the history
…m/linux/kernel/git/tip/linux-2.6-tip

* 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  tracing: Fix trace_print_seq()
  kprobes: No need to unlock kprobe_insn_mutex
  tracing/fastboot: Document the need of initcall_debug
  trace_export: Repair missed fields
  tracing: Fix stack tracer sysctl handling
  • Loading branch information
Linus Torvalds committed Jul 10, 2009
2 parents b690a37 + e1af3ae commit 2a6f86b
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 14 deletions.
6 changes: 1 addition & 5 deletions kernel/kprobes.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,13 +237,9 @@ static int __kprobes collect_garbage_slots(void)
{
struct kprobe_insn_page *kip;
struct hlist_node *pos, *next;
int safety;

/* Ensure no-one is preepmted on the garbages */
mutex_unlock(&kprobe_insn_mutex);
safety = check_safety();
mutex_lock(&kprobe_insn_mutex);
if (safety != 0)
if (check_safety())
return -EAGAIN;

hlist_for_each_entry_safe(kip, pos, next, &kprobe_insn_pages, hlist) {
Expand Down
6 changes: 3 additions & 3 deletions kernel/trace/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -226,13 +226,13 @@ config BOOT_TRACER
the timings of the initcalls and traces key events and the identity
of tasks that can cause boot delays, such as context-switches.

Its aim is to be parsed by the /scripts/bootgraph.pl tool to
Its aim is to be parsed by the scripts/bootgraph.pl tool to
produce pretty graphics about boot inefficiencies, giving a visual
representation of the delays during initcalls - but the raw
/debug/tracing/trace text output is readable too.

You must pass in ftrace=initcall to the kernel command line
to enable this on bootup.
You must pass in initcall_debug and ftrace=initcall to the kernel
command line to enable this on bootup.

config TRACE_BRANCH_PROFILING
bool
Expand Down
4 changes: 2 additions & 2 deletions kernel/trace/ftrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -3160,10 +3160,10 @@ ftrace_enable_sysctl(struct ctl_table *table, int write,

ret = proc_dointvec(table, write, file, buffer, lenp, ppos);

if (ret || !write || (last_ftrace_enabled == ftrace_enabled))
if (ret || !write || (last_ftrace_enabled == !!ftrace_enabled))
goto out;

last_ftrace_enabled = ftrace_enabled;
last_ftrace_enabled = !!ftrace_enabled;

if (ftrace_enabled) {

Expand Down
3 changes: 3 additions & 0 deletions kernel/trace/trace_event_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ TRACE_EVENT_FORMAT(funcgraph_exit, TRACE_GRAPH_RET,
ftrace_graph_ret_entry, ignore,
TRACE_STRUCT(
TRACE_FIELD(unsigned long, ret.func, func)
TRACE_FIELD(unsigned long long, ret.calltime, calltime)
TRACE_FIELD(unsigned long long, ret.rettime, rettime)
TRACE_FIELD(unsigned long, ret.overrun, overrun)
TRACE_FIELD(int, ret.depth, depth)
),
TP_RAW_FMT("<-- %lx (%d)")
Expand Down
3 changes: 1 addition & 2 deletions kernel/trace/trace_output.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@ void trace_print_seq(struct seq_file *m, struct trace_seq *s)
{
int len = s->len >= PAGE_SIZE ? PAGE_SIZE - 1 : s->len;

s->buffer[len] = 0;
seq_puts(m, s->buffer);
seq_write(m, s->buffer, len);

trace_seq_init(s);
}
Expand Down
4 changes: 2 additions & 2 deletions kernel/trace/trace_stack.c
Original file line number Diff line number Diff line change
Expand Up @@ -326,10 +326,10 @@ stack_trace_sysctl(struct ctl_table *table, int write,
ret = proc_dointvec(table, write, file, buffer, lenp, ppos);

if (ret || !write ||
(last_stack_tracer_enabled == stack_tracer_enabled))
(last_stack_tracer_enabled == !!stack_tracer_enabled))
goto out;

last_stack_tracer_enabled = stack_tracer_enabled;
last_stack_tracer_enabled = !!stack_tracer_enabled;

if (stack_tracer_enabled)
register_ftrace_function(&trace_ops);
Expand Down

0 comments on commit 2a6f86b

Please sign in to comment.