public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: Tom Zanussi <tzanussi@gmail.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	fweisbec@gmail.com
Subject: Re: [PATCH] tracing/filters: allow event filters to be set only when not tracing
Date: Fri, 3 Apr 2009 18:37:55 +0200	[thread overview]
Message-ID: <20090403163755.GA3047@elte.hu> (raw)
In-Reply-To: <20090403162642.GB6968@linux.vnet.ibm.com>


* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:

> On Fri, Apr 03, 2009 at 03:59:56PM +0200, Ingo Molnar wrote:
> > 
> > * Tom Zanussi <tzanussi@gmail.com> wrote:
> > 
> > > On Wed, 2009-04-01 at 14:24 +0200, Ingo Molnar wrote:
> > > > * Tom Zanussi <tzanussi@gmail.com> wrote:
> > > > 
> > > > > This patch adds code allowing the event filter to be set only if 
> > > > > there's no active tracing going on.
> > > > 
> > > > > --- a/kernel/trace/trace_events.c
> > > > > +++ b/kernel/trace/trace_events.c
> > > > > @@ -498,6 +498,9 @@ event_filter_write(struct file *filp, const char __user *ubuf, size_t cnt,
> > > > >  	struct filter_pred *pred;
> > > > >  	int err;
> > > > >  
> > > > > +	if (tracing_is_enabled() && (!tracer_is_nop() || call->enabled))
> > > > > +		return -EBUSY;
> > > > 
> > > > hm, but it would be the normal use-case to set filters on the fly. 
> > > > To experiment around with them and shape them until the output is 
> > > > just right. Having to turn the tracer on/off during that seems quite 
> > > > counterproductive to that use-case.
> > > > 
> > > 
> > > I didn't see anything that could be used to temporarily disable 
> > > tracing (tracing_stop() and tracing_start() are 'quick' versions 
> > > that mostly just disable recording), so did it this way to avoid 
> > > adding any overhead to the filter-checking code.
> > > 
> > > But anyway, I'll post a new patch shortly that uses rcu and does 
> > > allow the filters to be set on the fly.
> > 
> > that's a very intelligent way to do it!
> > 
> > There's a theoretical problem though: what if we put a filtered 
> > tracepoint into the RCU code? Especially if that tracepoint is in 
> > the common function-tracer callback affecting all kernel functions. 
> > I've Cc:-ed Paul. I think the quiescent state logic should handle 
> > this just fine, but i'm not 100% sure.
> 
> Disclaimer: I don't claim to fully understand the code.  I do not see any
> problems tracing the quiescent-state logic.  However, it appears to me
> that you don't get to set tracepoints in the idle loop for rcuclassic,
> rcutree, and rcutiny.
> 
> My kneejerk reaction is "why would anyone want to trace the idle 
> loop?"

heh :-)

Idle enter/exit events are useful to tune power use for example. The 
more events we have there, the more we prevent the CPU from slowly 
going into deep sleep mode.

	Ingo

  reply	other threads:[~2009-04-03 16:38 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-30  5:22 [PATCH] tracing/filters: allow event filters to be set only when not tracing Tom Zanussi
2009-04-01 12:24 ` Ingo Molnar
2009-04-02  6:22   ` Tom Zanussi
2009-04-03 13:59     ` Ingo Molnar
2009-04-03 14:12       ` Steven Rostedt
2009-04-04  7:32         ` Tom Zanussi
2009-04-04 15:49           ` Steven Rostedt
2009-04-04 17:02             ` Paul E. McKenney
2009-04-05  7:34             ` Tom Zanussi
2009-04-05 17:11               ` Paul E. McKenney
2009-04-06 15:59                 ` Steven Rostedt
2009-04-06 16:15                   ` Paul E. McKenney
2009-04-06 19:30                     ` Steven Rostedt
2009-04-06 19:44                       ` Frederic Weisbecker
2009-04-06 19:52                         ` Steven Rostedt
2009-04-06 20:15                           ` Paul E. McKenney
2009-04-06 23:58                             ` Paul E. McKenney
2009-04-07  0:34                               ` Steven Rostedt
2009-04-07  1:27                                 ` Paul E. McKenney
2009-04-03 16:26       ` Paul E. McKenney
2009-04-03 16:37         ` Ingo Molnar [this message]
2009-04-03 16:43           ` Steven Rostedt
2009-04-03 18:05             ` Paul E. McKenney

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=20090403163755.GA3047@elte.hu \
    --to=mingo@elte.hu \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=rostedt@goodmis.org \
    --cc=tzanussi@gmail.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