[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c62985530811250239v4a51cd1p4de5f1616a41ef36@mail.gmail.com>
Date: Tue, 25 Nov 2008 11:39:35 +0100
From: "Frédéric Weisbecker" <fweisbec@...il.com>
To: "Markus Metzger" <markus.t.metzger@...el.com>
Cc: hpa@...or.com, linux-kernel@...r.kernel.org, mingo@...e.hu,
tglx@...utronix.de, markus.t.metzger@...il.com, roland@...hat.com,
akpm@...ux-foundation.org, mtk.manpages@...il.com,
eranian@...glemail.com, juan.villacis@...el.com,
"Andi Kleen" <andi@...stfloor.org>
Subject: Re: [patch 9/9] x86, bts, ftrace: a BTS ftrace plug-in prototype
Hi Markus,
2008/11/25 Markus Metzger <markus.t.metzger@...el.com>:
> +static enum print_line_t bts_trace_print_line(struct trace_iterator *iter)
> +{
> + struct trace_entry *entry = iter->ent;
> + struct trace_seq *seq = &iter->seq;
> + struct bts_entry *it;
> +
> + trace_assign_type(it, entry);
> +
> + if (entry->type == TRACE_BTS) {
> + int ret;
> +#ifdef CONFIG_KALLSYMS
> + char function[KSYM_SYMBOL_LEN];
> + sprint_symbol(function, it->from);
> +#else
> + char *function = "<unknown>";
> +#endif
> +
> + ret = trace_seq_printf(seq, "%4d 0x%lx -> 0x%lx [%s]\n",
> + entry->cpu, it->from, it->to, function);
You can use seq_print_ip_sym() which handles the ifdef and the sprint_symbol...
> +void trace_bts(struct trace_array *tr, unsigned long from, unsigned long to)
> +{
> + struct ring_buffer_event *event;
> + struct bts_entry *entry;
> + unsigned long irq;
> +
> + event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry), &irq);
> + if (!event)
> + return;
> + entry = ring_buffer_event_data(event);
> + tracing_generic_entry_update(&entry->ent, 0, from);
> + entry->ent.type = TRACE_BTS;
> + entry->ent.cpu = smp_processor_id();
If you look at the struct trace_entry, you will see find the cpu
field. It is already inserted automatically :-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists