From: Frederic Weisbecker <fweisbec@gmail.com>
To: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Steven Rostedt <rostedt@goodmis.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@elte.hu>, Jens Axboe <jens.axboe@oracle.com>
Subject: Re: [PATCH tip 1/1] trace: Make the trace_event callbacks return enum print_line_t
Date: Wed, 4 Feb 2009 02:06:26 +0100 [thread overview]
Message-ID: <20090204010625.GA10316@nowhere> (raw)
In-Reply-To: <20090204000550.GH3440@ghostprotocols.net>
On Tue, Feb 03, 2009 at 10:05:50PM -0200, Arnaldo Carvalho de Melo wrote:
> As they actually all return these enumerators.
>
> Reported-by: Frederic Weisbecker <fweisbec@gmail.com>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Thanks.
I'm currently working on the implementation of the subevents, hopefully it will
actually make the things simplier for tracers like blk.
I'm not sure, will see the result and your comments :-)
> diff --git a/block/blktrace.c b/block/blktrace.c
> index 12df276..c7698d1 100644
> --- a/block/blktrace.c
> +++ b/block/blktrace.c
> @@ -1158,7 +1158,8 @@ static struct {
> [__BLK_TA_REMAP] = {{ "A", "remap" }, blk_log_remap },
> };
>
> -static int blk_trace_event_print(struct trace_iterator *iter, int flags)
> +static enum print_line_t blk_trace_event_print(struct trace_iterator *iter,
> + int flags)
> {
> struct trace_seq *s = &iter->seq;
> const struct blk_io_trace *t = (struct blk_io_trace *)iter->ent;
> @@ -1196,7 +1197,8 @@ static int blk_trace_synthesize_old_trace(struct trace_iterator *iter)
> sizeof(old) - offset + t->pdu_len);
> }
>
> -static int blk_trace_event_print_binary(struct trace_iterator *iter, int flags)
> +static enum print_line_t
> +blk_trace_event_print_binary(struct trace_iterator *iter, int flags)
> {
> return blk_trace_synthesize_old_trace(iter) ?
> TRACE_TYPE_HANDLED : TRACE_TYPE_PARTIAL_LINE;
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index 5822ff4..fd51cf0 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -1495,7 +1495,7 @@ static enum print_line_t print_hex_fmt(struct trace_iterator *iter)
>
> event = ftrace_find_event(entry->type);
> if (event && event->hex) {
> - int ret = event->hex(iter, 0);
> + enum print_line_t ret = event->hex(iter, 0);
> if (ret != TRACE_TYPE_HANDLED)
> return ret;
> }
> diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
> index f6b35e1..7ac72a4 100644
> --- a/kernel/trace/trace_branch.c
> +++ b/kernel/trace/trace_branch.c
> @@ -160,7 +160,8 @@ trace_print_print(struct trace_seq *s, struct trace_entry *entry, int flags)
> return TRACE_TYPE_PARTIAL_LINE;
> }
>
> -static int trace_branch_print(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_branch_print(struct trace_iterator *iter,
> + int flags)
> {
> struct trace_branch *field;
>
> diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
> index 5b3c914..b7380ee 100644
> --- a/kernel/trace/trace_output.c
> +++ b/kernel/trace/trace_output.c
> @@ -463,13 +463,14 @@ int unregister_ftrace_event(struct trace_event *event)
> * Standard events
> */
>
> -int trace_nop_print(struct trace_iterator *iter, int flags)
> +enum print_line_t trace_nop_print(struct trace_iterator *iter, int flags)
> {
> return TRACE_TYPE_HANDLED;
> }
>
> /* TRACE_FN */
> -static int trace_fn_latency(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_fn_latency(struct trace_iterator *iter,
> + int flags)
> {
> struct ftrace_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -491,7 +492,7 @@ static int trace_fn_latency(struct trace_iterator *iter, int flags)
> return TRACE_TYPE_PARTIAL_LINE;
> }
>
> -static int trace_fn_trace(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_fn_trace(struct trace_iterator *iter, int flags)
> {
> struct ftrace_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -518,7 +519,7 @@ static int trace_fn_trace(struct trace_iterator *iter, int flags)
> return TRACE_TYPE_PARTIAL_LINE;
> }
>
> -static int trace_fn_raw(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_fn_raw(struct trace_iterator *iter, int flags)
> {
> struct ftrace_entry *field;
>
> @@ -532,7 +533,7 @@ static int trace_fn_raw(struct trace_iterator *iter, int flags)
> return TRACE_TYPE_HANDLED;
> }
>
> -static int trace_fn_hex(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_fn_hex(struct trace_iterator *iter, int flags)
> {
> struct ftrace_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -545,7 +546,7 @@ static int trace_fn_hex(struct trace_iterator *iter, int flags)
> return TRACE_TYPE_HANDLED;
> }
>
> -static int trace_fn_bin(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_fn_bin(struct trace_iterator *iter, int flags)
> {
> struct ftrace_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -568,7 +569,8 @@ static struct trace_event trace_fn_event = {
> };
>
> /* TRACE_CTX an TRACE_WAKE */
> -static int trace_ctxwake_print(struct trace_iterator *iter, char *delim)
> +static enum print_line_t trace_ctxwake_print(struct trace_iterator *iter,
> + char *delim)
> {
> struct ctx_switch_entry *field;
> char *comm;
> @@ -593,12 +595,13 @@ static int trace_ctxwake_print(struct trace_iterator *iter, char *delim)
> return TRACE_TYPE_HANDLED;
> }
>
> -static int trace_ctx_print(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_ctx_print(struct trace_iterator *iter, int flags)
> {
> return trace_ctxwake_print(iter, "==>");
> }
>
> -static int trace_wake_print(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_wake_print(struct trace_iterator *iter,
> + int flags)
> {
> return trace_ctxwake_print(iter, " +");
> }
> @@ -626,12 +629,12 @@ static int trace_ctxwake_raw(struct trace_iterator *iter, char S)
> return TRACE_TYPE_HANDLED;
> }
>
> -static int trace_ctx_raw(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_ctx_raw(struct trace_iterator *iter, int flags)
> {
> return trace_ctxwake_raw(iter, 0);
> }
>
> -static int trace_wake_raw(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_wake_raw(struct trace_iterator *iter, int flags)
> {
> return trace_ctxwake_raw(iter, '+');
> }
> @@ -660,17 +663,18 @@ static int trace_ctxwake_hex(struct trace_iterator *iter, char S)
> return TRACE_TYPE_HANDLED;
> }
>
> -static int trace_ctx_hex(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_ctx_hex(struct trace_iterator *iter, int flags)
> {
> return trace_ctxwake_hex(iter, 0);
> }
>
> -static int trace_wake_hex(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_wake_hex(struct trace_iterator *iter, int flags)
> {
> return trace_ctxwake_hex(iter, '+');
> }
>
> -static int trace_ctxwake_bin(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_ctxwake_bin(struct trace_iterator *iter,
> + int flags)
> {
> struct ctx_switch_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -706,7 +710,8 @@ static struct trace_event trace_wake_event = {
> };
>
> /* TRACE_SPECIAL */
> -static int trace_special_print(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_special_print(struct trace_iterator *iter,
> + int flags)
> {
> struct special_entry *field;
>
> @@ -721,7 +726,8 @@ static int trace_special_print(struct trace_iterator *iter, int flags)
> return TRACE_TYPE_HANDLED;
> }
>
> -static int trace_special_hex(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_special_hex(struct trace_iterator *iter,
> + int flags)
> {
> struct special_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -735,7 +741,8 @@ static int trace_special_hex(struct trace_iterator *iter, int flags)
> return TRACE_TYPE_HANDLED;
> }
>
> -static int trace_special_bin(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_special_bin(struct trace_iterator *iter,
> + int flags)
> {
> struct special_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -760,7 +767,8 @@ static struct trace_event trace_special_event = {
>
> /* TRACE_STACK */
>
> -static int trace_stack_print(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_stack_print(struct trace_iterator *iter,
> + int flags)
> {
> struct stack_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -796,7 +804,8 @@ static struct trace_event trace_stack_event = {
> };
>
> /* TRACE_USER_STACK */
> -static int trace_user_stack_print(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_user_stack_print(struct trace_iterator *iter,
> + int flags)
> {
> struct userstack_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -825,7 +834,8 @@ static struct trace_event trace_user_stack_event = {
> };
>
> /* TRACE_PRINT */
> -static int trace_print_print(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_print_print(struct trace_iterator *iter,
> + int flags)
> {
> struct print_entry *field;
> struct trace_seq *s = &iter->seq;
> @@ -844,7 +854,7 @@ static int trace_print_print(struct trace_iterator *iter, int flags)
> return TRACE_TYPE_PARTIAL_LINE;
> }
>
> -static int trace_print_raw(struct trace_iterator *iter, int flags)
> +static enum print_line_t trace_print_raw(struct trace_iterator *iter, int flags)
> {
> struct print_entry *field;
>
> diff --git a/kernel/trace/trace_output.h b/kernel/trace/trace_output.h
> index 3aeb31f..551a25a 100644
> --- a/kernel/trace/trace_output.h
> +++ b/kernel/trace/trace_output.h
> @@ -3,7 +3,8 @@
>
> #include "trace.h"
>
> -typedef int (*trace_print_func)(struct trace_iterator *iter, int flags);
> +typedef enum print_line_t (*trace_print_func)(struct trace_iterator *iter,
> + int flags);
>
> struct trace_event {
> struct hlist_node node;
> @@ -39,7 +40,7 @@ struct trace_event *ftrace_find_event(int type);
> int register_ftrace_event(struct trace_event *event);
> int unregister_ftrace_event(struct trace_event *event);
>
> -int trace_nop_print(struct trace_iterator *iter, int flags);
> +enum print_line_t trace_nop_print(struct trace_iterator *iter, int flags);
>
> #define MAX_MEMHEX_BYTES 8
> #define HEX_CHARS (MAX_MEMHEX_BYTES*2 + 1)
next prev parent reply other threads:[~2009-02-04 1:06 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-03 22:20 [PATCH tip 1/1] trace: judicious error checking of trace_seq results Arnaldo Carvalho de Melo
2009-02-03 22:49 ` Frederic Weisbecker
2009-02-04 0:05 ` [PATCH tip 1/1] trace: Make the trace_event callbacks return enum print_line_t Arnaldo Carvalho de Melo
2009-02-04 1:06 ` Frederic Weisbecker [this message]
2009-02-04 19:47 ` Ingo Molnar
2009-02-04 19:46 ` [PATCH tip 1/1] trace: judicious error checking of trace_seq results Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090204010625.GA10316@nowhere \
--to=fweisbec@gmail.com \
--cc=acme@ghostprotocols.net \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.