All of lore.kernel.org
 help / color / mirror / Atom feed
From: tingwei@codeaurora.org
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@redhat.com>,
	tsoni@codeaurora.org,
	Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>,
	Mao Jinlong <jinlmao@codeaurora.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/4] tracing: add trace_export support for event trace
Date: Wed, 22 Jul 2020 07:54:14 +0800	[thread overview]
Message-ID: <78e5b0827f8dfea7d315cea09bd6ab17@codeaurora.org> (raw)
In-Reply-To: <20200721124342.422ee784@oasis.local.home>

On 2020-07-22 00:43, Steven Rostedt wrote:
> On Tue, 21 Jul 2020 12:37:33 -0400
> Steven Rostedt <rostedt@goodmis.org> wrote:
> 
>> On Mon, 20 Jul 2020 10:21:15 +0800
>> Tingwei Zhang <tingwei@codeaurora.org> wrote:
>> 
>> > Only function traces can be exported to other destinations currently.
>> > This patch exports event trace as well.
>> >
>> > Signed-off-by: Tingwei Zhang <tingwei@codeaurora.org>
>> > ---
>> >  kernel/trace/trace.c | 24 +++++++++++++-----------
>> >  1 file changed, 13 insertions(+), 11 deletions(-)
>> >
>> > diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
>> > index bb62269724d5..aef6330836e2 100644
>> > --- a/kernel/trace/trace.c
>> > +++ b/kernel/trace/trace.c
>> > @@ -2697,17 +2697,6 @@ int tracepoint_printk_sysctl(struct ctl_table
> *table, int write,
>> >  	return ret;
>> >  }
>> >
>> > -void trace_event_buffer_commit(struct trace_event_buffer *fbuffer)
>> > -{
>> > -	if (static_key_false(&tracepoint_printk_key.key))
>> > -		output_printk(fbuffer);
>> > -
>> > -	event_trigger_unlock_commit_regs(fbuffer->trace_file,
> fbuffer->buffer,
>> > -				    fbuffer->event, fbuffer->entry,
>> > -				    fbuffer->flags, fbuffer->pc,
> fbuffer->regs);
>> > -}
>> > -EXPORT_SYMBOL_GPL(trace_event_buffer_commit);
>> > -
>> 
>> Please move the ftrace_exports routines up, instead of moving the
>> trace_event_buffer_commit() down. As it fits better where it is (next
>> to the other buffer_commit code).
>> 
>> -- Steve
>> 
>> 
>> >  /*
>> >   * Skip 3:
>> >   *
>> > @@ -2868,6 +2857,19 @@ int unregister_ftrace_export(struct
>> > trace_export *export) }
>> >  EXPORT_SYMBOL_GPL(unregister_ftrace_export);
>> >
>> > +void trace_event_buffer_commit(struct trace_event_buffer *fbuffer)
>> > +{
>> > +	if (static_key_false(&tracepoint_printk_key.key))
>> > +		output_printk(fbuffer);
>> > +
>> > +	if (static_branch_unlikely(&ftrace_exports_enabled))
>> > +		ftrace_exports(fbuffer->event);
> 
> I would also recommend making each static branch a separate variable.
> That way you could pick and choose what you want to enable. If you only
> want events, and functions are being traced, it will add a bit of
> overhead to handle the functions to just ignore them.
> 
> That is:
> 
>  ftrace_exports_enabled, trace_event_exports_enabled,
>  trace_marker_exports_enabled.
> 
> -- Steve
> 
That's a good idea.  Let me add that to next revision.

> 
>> > +	event_trigger_unlock_commit_regs(fbuffer->trace_file,
>> > fbuffer->buffer,
>> > +				    fbuffer->event, fbuffer->entry,
>> > +				    fbuffer->flags, fbuffer->pc,
>> > fbuffer->regs); +}
>> > +EXPORT_SYMBOL_GPL(trace_event_buffer_commit);
>> > +
>> >  void
>> >  trace_function(struct trace_array *tr,
>> >  	       unsigned long ip, unsigned long parent_ip, unsigned
>> > long flags,
>> 

  reply	other threads:[~2020-07-21 23:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-20  2:21 [PATCH 0/4] tracing: export event trace and trace_marker Tingwei Zhang
2020-07-20  2:21 ` [PATCH 1/4] stm class: ftrace: change dependency to TRACING Tingwei Zhang
2020-07-20  2:21 ` [PATCH 2/4] tracing: add trace_export support for event trace Tingwei Zhang
2020-07-21 16:37   ` Steven Rostedt
2020-07-21 16:43     ` Steven Rostedt
2020-07-21 23:54       ` tingwei [this message]
2020-07-21 23:36     ` tingwei
2020-07-20  2:21 ` [PATCH 3/4] tracing: add trace_export support for trace_marker Tingwei Zhang
2020-07-20  2:21 ` [PATCH 4/4] stm class: ftrace: use different channel accroding to CPU Tingwei Zhang
2020-07-21 17:55   ` Steven Rostedt

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=78e5b0827f8dfea7d315cea09bd6ab17@codeaurora.org \
    --to=tingwei@codeaurora.org \
    --cc=jinlmao@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=saiprakash.ranjan@codeaurora.org \
    --cc=tsoni@codeaurora.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.