From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: prasad@linux.vnet.ibm.com, Ingo Molnar <mingo@elte.hu>,
LKML <linux-kernel@vger.kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Thomas Gleixner <tglx@linutronix.de>,
Mike Galbraith <efault@gmx.de>, Paul Mackerras <paulus@samba.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Lai Jiangshan <laijs@cn.fujitsu.com>,
Anton Blanchard <anton@samba.org>, Li Zefan <lizf@cn.fujitsu.com>,
Zhaolei <zhaolei@cn.fujitsu.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>,
Alan Stern <stern@rowland.harvard.edu>
Subject: Re: [RFC][PATCH 5/5] perfcounter: Add support for kernel hardware breakpoints
Date: Wed, 29 Jul 2009 10:28:52 +0200 [thread overview]
Message-ID: <1248856132.6987.3034.camel@twins> (raw)
In-Reply-To: <20090729003607.GC5104@nowhere>
On Wed, 2009-07-29 at 02:36 +0200, Frederic Weisbecker wrote:
> On Tue, Jul 28, 2009 at 09:24:37AM +0200, Peter Zijlstra wrote:
> > On Tue, 2009-07-28 at 03:03 +0200, Frederic Weisbecker wrote:
> > > > Thirdly, we can multiplex perf counters beyond their hardware maximum,
> > > > something you simply cannot do for a debug interface.
> > >
> > >
> > > Again, I'm stuck in what you mean by multiplexing here :-)
> >
> > If you'd create say 16 breakpoint counters, we'd RR them over the 4
> > available hardware breakpoints (or less when others are taken by someone
> > else).
> >
> > Since its all statistics anyway, we can simply scale the event counts up
> > by the time-share they received.
> >
>
> Aah, ok I understand now.
> But I fear it may kill the accuracy of the breakpoints statistics.
> It's fine for a theoretical linear rate of breakpoint events.
> But what happens if we are profiling something much more unstable
> with a rain of hits in a small window of memory between large timeframes?
> If we have a breakpoint inside this window of memory and this breakpoint
> is not plugged, waiting for its turn in the RR, we loose this rain of events.
You don't have to overload the breakpoint set, but we will if you create
more than there are hardware resources available.
If the RR period is independent of the application and significantly
shorter than the sample duration, statistics will be usable.
Sure, they'll not be perfect, but we can improve our confidence interval
by running longer. At some point it really doesn't matter anymore.
Take your example, of small bursts of events, due to the first
assumption - the RR period being independent of the application - we're
bound to see those busts in a proportional number of sample windows.
If the full sample duration is in the same order of the RR period, then
yes, you'll have a fair chance of missing the burst -- don't do that
then :-)
If you know you'll be running very very short, use attr.pinned, to
request a counter that'll not be multiplexed.
next prev parent reply other threads:[~2009-07-29 8:26 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-20 17:08 [RFC][PATCH 0/5] hw-breakpoints: Make the API generic + support for perfcounters Frederic Weisbecker
2009-07-20 17:08 ` [RFC][PATCH 1/5] hw-breakpoints: Make kernel breakpoints API truly generic Frederic Weisbecker
2009-07-20 17:27 ` Mathieu Desnoyers
2009-07-25 2:37 ` Frederic Weisbecker
2009-07-25 15:38 ` Mathieu Desnoyers
2009-07-28 1:35 ` Frederic Weisbecker
2009-07-21 11:15 ` K.Prasad
2009-07-25 2:56 ` Frederic Weisbecker
2009-07-20 17:08 ` [RFC][PATCH 2/5] hw-breakpoints: Pull up the target symbol in a generic field Frederic Weisbecker
2009-07-20 17:08 ` [RFC][PATCH 3/5] hw-breakpoints: Make user breakpoints API truly generic Frederic Weisbecker
2009-07-20 17:08 ` [RFC][PATCH 4/5] perfcounter: Grow the event number to 64 bits Frederic Weisbecker
2009-07-20 17:08 ` [RFC][PATCH 5/5] perfcounter: Add support for kernel hardware breakpoints Frederic Weisbecker
2009-07-20 17:38 ` Peter Zijlstra
2009-07-21 7:11 ` Frédéric Weisbecker
2009-07-20 17:38 ` Peter Zijlstra
2009-07-21 7:19 ` Frédéric Weisbecker
2009-07-20 17:38 ` Peter Zijlstra
2009-07-20 21:22 ` Frédéric Weisbecker
2009-07-24 20:20 ` Masami Hiramatsu
2009-07-23 13:08 ` Peter Zijlstra
2009-07-23 17:45 ` Peter Zijlstra
2009-07-23 19:56 ` Alan Stern
2009-07-24 14:02 ` Frédéric Weisbecker
2009-07-24 14:26 ` Peter Zijlstra
2009-07-24 17:47 ` Frederic Weisbecker
2009-07-25 10:56 ` Peter Zijlstra
2009-07-25 14:19 ` Frederic Weisbecker
2009-07-25 15:51 ` Mathieu Desnoyers
2009-07-25 16:27 ` Peter Zijlstra
2009-07-25 16:22 ` Peter Zijlstra
2009-07-25 23:57 ` K.Prasad
2009-07-27 8:53 ` Peter Zijlstra
2009-07-28 1:03 ` Frederic Weisbecker
2009-07-28 7:24 ` Peter Zijlstra
2009-07-28 14:04 ` Mathieu Desnoyers
2009-07-28 14:42 ` Peter Zijlstra
2009-07-29 0:36 ` Frederic Weisbecker
2009-07-29 8:28 ` Peter Zijlstra [this message]
2009-07-29 14:03 ` Frederic Weisbecker
2009-07-28 16:12 ` K.Prasad
2009-07-28 16:41 ` Peter Zijlstra
2009-07-29 6:37 ` K.Prasad
2009-07-29 9:22 ` Peter Zijlstra
2009-07-29 14:57 ` Arnaldo Carvalho de Melo
2009-07-28 0:18 ` Frederic Weisbecker
2009-07-28 7:26 ` Peter Zijlstra
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=1248856132.6987.3034.camel@twins \
--to=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=anton@samba.org \
--cc=efault@gmx.de \
--cc=fweisbec@gmail.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizf@cn.fujitsu.com \
--cc=mathieu.desnoyers@polymtl.ca \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=prasad@linux.vnet.ibm.com \
--cc=rostedt@goodmis.org \
--cc=stern@rowland.harvard.edu \
--cc=tglx@linutronix.de \
--cc=zhaolei@cn.fujitsu.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