From: Steven Rostedt <rostedt@goodmis.org>
To: Mark Asselstine <mark.asselstine@windriver.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] trace-cmd: setting plugin to 'nop' clears data before its recorded
Date: Thu, 05 Apr 2012 17:37:46 -0400 [thread overview]
Message-ID: <1333661866.4595.9.camel@acer.local.home> (raw)
In-Reply-To: <1333653586-3379-4-git-send-email-mark.asselstine@windriver.com>
On Thu, 2012-04-05 at 15:19 -0400, Mark Asselstine wrote:
Hi Mark,
Thanks for the updates.
> commit e09a5db1a929ab668c273b87c4f0a32b81e1c21a
> [trace-cmd: Add trace-cmd record --date option]
>
> moved the call to disable_all() in trace_record() from after record_data()
> to before it. disable_all() sets 'nop' in 'current_tracer' which has the
> side affect of clearing 'trace', thus all the latency tracer reports are
> empty/useless. By moving set_plugin() out of disable_all() and rather
> calling it after record_data() we still achieve the desired goals of
> commit e09a5db1a9 while fixing latency tracing reports.
>
> Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> ---
> trace-record.c | 13 ++++++++++---
> 1 files changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/trace-record.c b/trace-record.c
> index 1c56fa9..6887874 100644
> --- a/trace-record.c
> +++ b/trace-record.c
> @@ -897,11 +897,10 @@ static void disable_tracing(void)
> write_tracing_on(0);
> }
>
> -static void disable_all(void)
> +static void disable_all_but_plugin(void)
Hmm, I don't really care for this name. Maybe it would be better to have
this take a parameter called "plugins", and if it is set, then you
disable plugins, otherwise you don't. This keeps it a single function
and not two different ones where one is slightly different than the
other. That is usually only done when a function is used by lots of
other areas and it is just simpler to make another function do something
slightly different and have the original call it. But this isn't used
much, so just changing the way it works, I think would be better.
Also, and this has nothing to do with you or your patches, I simply hate
the fact that I called these plugins. They should have been called
"tracers" but I think I'm stuck with it. The term now is ambiguous as it
means both a tracer (as it does here) and it means actual plugins that
you can load into trace-cmd itself.
> {
> disable_tracing();
>
> - set_plugin("nop");
> reset_events();
>
> /* Force close and reset of ftrace pid file */
> @@ -911,6 +910,12 @@ static void disable_all(void)
> clear_trace();
> }
>
> +static void disable_all(void)
> +{
> + disable_all_but_plugin();
> + set_plugin("nop");
> +}
> +
> static void
> update_sched_event(struct event_list **event, const char *file,
> const char *pid_filter, const char *field_filter)
> @@ -2227,7 +2232,7 @@ void trace_record (int argc, char **argv)
> }
>
> if (!keep)
> - disable_all();
> + disable_all_but_plugin();
>
> printf("Kernel buffer statistics:\n"
> " Note: \"entries\" are the entries left in the kernel ring buffer and are not\n"
> @@ -2245,6 +2250,8 @@ void trace_record (int argc, char **argv)
>
> record_data(date2ts);
> delete_thread_data();
> + if (!keep)
> + set_plugin("nop");
>
> if (keep)
> exit(0);
I think the above would have been better if you did:
if (keep)
exit(0);
else
set_plugin(nop);
-- Steve
next prev parent reply other threads:[~2012-04-05 21:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-05 19:19 [PATCH 0/3] trace-cmd fixes for latency tracing record and report Mark Asselstine
2012-04-05 19:19 ` [PATCH 1/3] trace-cmd: add checks for invalid pointers to fix segfaults Mark Asselstine
2012-04-05 19:19 ` [PATCH 2/3] trace-cmd: don't call stop_threads() if doing latency tracing Mark Asselstine
2012-04-05 19:19 ` [PATCH 3/3] trace-cmd: setting plugin to 'nop' clears data before its recorded Mark Asselstine
2012-04-05 21:37 ` Steven Rostedt [this message]
2012-04-06 12:06 ` Mark Asselstine
2012-04-06 12:24 ` Steven Rostedt
2012-04-08 15:38 ` [PATCH v2 3/3] trace-cmd: setting plugin to 'nop' clears data before it's recorded Mark Asselstine
2012-05-23 9:33 ` Steven Rostedt
2012-05-23 13:26 ` Mark Asselstine
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=1333661866.4595.9.camel@acer.local.home \
--to=rostedt@goodmis.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.asselstine@windriver.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®