public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
	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>,
	Alan Stern <stern@rowland.harvard.edu>
Subject: Re: [RFC][PATCH 5/5] perfcounter: Add support for kernel hardware breakpoints
Date: Tue, 28 Jul 2009 10:04:59 -0400	[thread overview]
Message-ID: <20090728140459.GA30412@Krystal> (raw)
In-Reply-To: <1248765877.6987.2754.camel@twins>

* Peter Zijlstra (a.p.zijlstra@chello.nl) 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.
> 

Although hw breakpoint and performance counters could be multiplexed to
be used in RR for profiling, I fear using these for tracing does not
necessarily fit well with these statistical artefacts.

Therefore I'd recommend leaving such bp RR as a feature separate from
a low-level breakpoint API, because it seem only useful to profilers.

I think we all have our very precise use-case in mind, and this is what
makes discussion so difficult. So, for my point of view (tracing), I'd
like to be able to set performance counters and breakpoints both
monitoring userspace and kernel. The userspace breakpoints would be
exchanged when a different process is scheduled.

I see 2 complementary ways to collect data into the trace:

- triggering an interrupt each X hardware events, trace this interrupt.
- reading the performance counter value at tracepoints identifying
  execution context change (e.g. system call entry/exit, interrupt
  entry/exit...)

As you see, none of these 2 ways to gather trace data allow statistical
RR. Therefore, having this feature in the low-level API does not seem to
make sense for tracing.

So if other use-cases could be explained, maybe we can factor out the
common interfaces.

Thanks,

Mathieu

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

  reply	other threads:[~2009-07-28 14:05 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 [this message]
2009-07-28 14:42                           ` Peter Zijlstra
2009-07-29  0:36                         ` Frederic Weisbecker
2009-07-29  8:28                           ` Peter Zijlstra
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=20090728140459.GA30412@Krystal \
    --to=mathieu.desnoyers@polymtl.ca \
    --cc=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=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