All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Andi Kleen <andi@firstfloor.org>
Cc: "Ingo Molnar" <mingo@kernel.org>,
	"Vince Weaver" <vince@deater.net>,
	"Andi Kleen" <ak@linux.intel.com>,
	acme@infradead.org, linux-kernel@vger.kernel.org,
	"Stephane Eranian" <eranian@google.com>,
	torvalds@linux-foundation.org, trinity@vger.kernel.org,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Frédéric Weisbecker" <fweisbec@gmail.com>,
	"Jiri Olsa" <jolsa@redhat.com>,
	"Namhyung Kim" <namhyung@gmail.com>
Subject: Re: [PATCH 1/2] tools, perf: Add a precise event qualifier v2
Date: Fri, 13 Sep 2013 10:56:54 +0200	[thread overview]
Message-ID: <20130913085654.GI31370@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <20130912173617.GI18242@two.firstfloor.org>

On Thu, Sep 12, 2013 at 07:36:17PM +0200, Andi Kleen wrote:
> > Your feature to export 'precise' requirements on events looks useful to 
> > me. We could implement it not by special casing it implicitly but by 
> > saying that if ../format/precise contains something like:
> > 
> >    attr:240-241

Since we currently have the pattern $name:bits to mean
perf_event_attr::$name the above would imply and create a possible
collision with perf_event_attr::attr.

If we're going to do this I'd propose using something like _:240-241,
for while '_' is a valid name in C its not something we're ever going to
allow in perf_event_attr.

> > then that's a natural extension of the config:X-Y format and should be 
> > interpreted to mean mean 2 bits in the perf attr field. I.e. we could go 
> > beyond the config bitfield.
> > 
> > Basically the whole perf_event_attr can be thought of as a 'giant 
> > bitfield', in which we can specify values to export an enumerated list of 
> > events from the kernel to tooling.
> > 
> > (Using attr:X-Y the config and config1 variants can be expressed as well, 
> > as the config fields are inside the attr structure.)
> > 
> > The positions within the perf_attr are an ABI, so this would work pretty 
> > well.
> 
> Wouldn't we need different bits for each architecture then?
> 32bit/64bit, some archs with weird alignment rules, maybe different for
> BE/LE too?

Typically PMU drivers are per arch and all the format stuff is per pmu
driver so I'd not worry about that just yet.

But yes, while the perf_event_attr thing is ABI its not identical across
archs.

> Ok I suppose it could be somehow auto generated in asm-offsets.c,
> although I'm not sure how to get a bitfield offset there.

Yes, that is an unfortunate situation. I (and either Acme or Jolsa)
tried wrapping the bitfield in an anonymous union to create a named
variable for the entire u64 but older GCC completely fails with that.

  parent reply	other threads:[~2013-09-13  8:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-22 13:52 [PATCH 1/2] tools, perf: Add a precise event qualifier v2 Andi Kleen
2013-07-22 13:52 ` [PATCH 2/2] perf, x86: Enable PEBS mode automatically for mem-{loads,stores} v4 Andi Kleen
2013-07-23  5:40 ` [PATCH 1/2] tools, perf: Add a precise event qualifier v2 Vince Weaver
2013-07-23  6:01   ` Andi Kleen
2013-07-23 21:27     ` Vince Weaver
2013-07-23 22:51       ` Andi Kleen
2013-07-24  0:39         ` Sasha Levin
2013-07-24  1:33           ` Andi Kleen
2013-07-24 18:31             ` Vince Weaver
2013-07-24 18:54           ` Vince Weaver
2013-07-24 18:47         ` Vince Weaver
2013-07-24 19:05           ` Andi Kleen
2013-07-26  3:58             ` Vince Weaver
2013-09-12 16:57         ` Ingo Molnar
2013-09-12 17:36           ` Andi Kleen
2013-09-12 17:59             ` Ingo Molnar
2013-09-13  8:56             ` Peter Zijlstra [this message]
2013-09-13  9:50               ` Ingo Molnar
2013-09-13 11:29                 ` Peter Zijlstra
2013-09-13 14:31                   ` Vince Weaver
2013-09-13 17:48               ` Andi Kleen
2013-09-12 19:35           ` Vince Weaver

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=20130913085654.GI31370@twins.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=acme@infradead.org \
    --cc=ak@linux.intel.com \
    --cc=andi@firstfloor.org \
    --cc=eranian@google.com \
    --cc=fweisbec@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=trinity@vger.kernel.org \
    --cc=vince@deater.net \
    /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.