All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Richter <rric@kernel.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Borislav Petkov <bp@alien8.de>, Ingo Molnar <mingo@kernel.org>,
	Arnaldo Carvalho de Melo <acme@infradead.org>,
	Jiri Olsa <jolsa@redhat.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 00/14] perf, persistent: Kernel updates for perf tool integration
Date: Tue, 25 Jun 2013 18:56:39 +0200	[thread overview]
Message-ID: <20130625165639.GH21579@rric.localhost> (raw)
In-Reply-To: <20130624102200.GR28407@twins.programming.kicks-ass.net>

On 24.06.13 12:22:00, Peter Zijlstra wrote:
> On Tue, Jun 11, 2013 at 06:42:26PM +0200, Robert Richter wrote:
> > Note that perf tools need to support the 'attr<num>' syntax that is
> > added in a separate patch set. With it we are able to run perf tool
> > commands to read persistent events, e.g.:
> 
> where is this patch? I can't find it.

I posted it with that subject:

 [PATCH 0/4] perf tools: Persistent events, changes for perf tool integration

> I also find attr<num>:<bit> a bit weird. So far we've used
> <perf_event_attr::fieldname>:<bits>, so while initializing anonymous
> unions is a bit difficult with 'older' GCCs and we cannot actually do:
> 
> struct perf_event_attr {
> 	...
> 	union {
> 		u64 flags;
> 		u64 disabled : 1,
> 		    ...
> 		    __reserved_1 : X;
> 	}
> 	...
> };
> 
> We could fake it in userspace by allowing things like: flags:23. It
> would not be a much worse hack than attr<num>:<bit> I suppose.

A goal is to be able to entirely describe the complete attr structure
with sysfs. perf tools should work out-of-the-box for every kind of
event. For this particular case a 'flags' syntax would be ok, but not
if you like to fill in other attr members.

With attr<num>:<bit> you are flexible to put in *everything* into
attr. And for better readability there are abstractions as formats
like:

 /sys/bus/event_source/devices/persistent/format/persistent:attr5:23

Not sure if the event parser handles recursion already, but we could
also support the 'flag' format you describe that way:

 /sys/bus/event_source/devices/persistent/format/flags:attr5:0-63
 /sys/bus/event_source/devices/persistent/format/persistent:flags:23

We could even list events for other pmus with small changes in the
kernel, e.g:

 /sys/bus/event_source/devices/persistent/format/type:attr0:0-31
 /sys/bus/event_source/devices/persistent/events/some_tracepoint:type=2,config=<tp_id>

The example is a bit weird. But in general we can translate struct
perf_event_attr to a string and vice versa. And perf tools understand
how to set up every bit of the event attr structure.

-Robert

  reply	other threads:[~2013-06-25 16:56 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-11 16:42 [PATCH v2 00/14] perf, persistent: Kernel updates for perf tool integration Robert Richter
2013-06-11 16:42 ` [PATCH v2 01/14] perf, ring_buffer: Use same prefix Robert Richter
2013-06-11 16:42 ` [PATCH v2 02/14] perf: Add persistent events Robert Richter
2013-06-24  9:28   ` Peter Zijlstra
2013-06-24 19:24     ` Borislav Petkov
2013-06-25  8:46       ` Robert Richter
2013-06-11 16:42 ` [PATCH v2 03/14] perf: Add persistent event facilities Robert Richter
2013-06-14  2:15   ` Namhyung Kim
2013-06-14  7:20     ` Robert Richter
2013-06-24  9:32   ` Peter Zijlstra
2013-06-25  8:47     ` Robert Richter
2013-06-24  9:44   ` Peter Zijlstra
2013-06-25  8:41     ` Robert Richter
2013-06-24  9:48   ` Peter Zijlstra
2013-06-24 19:26     ` Borislav Petkov
2013-06-25  7:44       ` Peter Zijlstra
2013-06-25  9:24         ` Robert Richter
2013-06-25  9:37           ` Borislav Petkov
2013-06-25 10:51             ` Robert Richter
2013-06-25 15:29               ` Borislav Petkov
2013-06-25 16:14                 ` Robert Richter
2013-06-11 16:42 ` [PATCH v2 04/14] MCE: Enable persistent event Robert Richter
2013-06-11 16:42 ` [PATCH v2 05/14] perf, persistent: Rework struct pers_event_desc Robert Richter
2013-06-11 16:42 ` [PATCH v2 06/14] perf, persistent: Remove rb_put() Robert Richter
2013-06-11 16:42 ` [PATCH v2 07/14] perf, persistent: Introduce get_persistent_event() Robert Richter
2013-06-11 16:42 ` [PATCH v2 08/14] perf, persistent: Reworking perf_get_persistent_event_fd() Robert Richter
2013-06-11 16:42 ` [PATCH v2 09/14] perf, persistent: Protect event lists with mutex Robert Richter
2013-06-11 16:42 ` [PATCH v2 10/14] perf, persistent: Avoid adding identical events Robert Richter
2013-06-11 16:42 ` [PATCH v2 11/14] perf, persistent: Implementing a persistent pmu Robert Richter
2013-06-11 16:42 ` [PATCH v2 12/14] perf, persistent: Name each persistent event Robert Richter
2013-06-11 16:42 ` [PATCH v2 13/14] perf, persistent: Exposing persistent events using sysfs Robert Richter
2013-06-14  2:36   ` Namhyung Kim
2013-06-14  8:57     ` Robert Richter
2013-06-11 16:42 ` [PATCH v2 14/14] perf, persistent: Allow multiple users for an event Robert Richter
2013-06-24 10:08 ` [PATCH v2 00/14] perf, persistent: Kernel updates for perf tool integration Peter Zijlstra
2013-06-25 10:46   ` Robert Richter
2013-06-24 10:22 ` Peter Zijlstra
2013-06-25 16:56   ` Robert Richter [this message]
2013-06-24 10:24 ` Peter Zijlstra
2013-06-24 15:25 ` Peter Zijlstra
2013-06-24 19:45   ` Ingo Molnar
2013-06-25 17:57     ` Robert Richter
2013-06-25 19:16       ` Borislav Petkov
2013-06-26  8:12         ` Robert Richter
2013-06-26  8:24           ` Borislav Petkov
2013-06-26  9:46             ` Ingo Molnar
2013-06-26  9:56               ` Borislav Petkov
2013-06-26 10:11             ` Robert Richter
2013-06-26 11:45               ` Ingo Molnar
2013-06-26 12:25                 ` Ingo Molnar
2013-06-26 12:44                 ` Robert Richter
2013-06-27  5:46                   ` Namhyung Kim
2013-06-27  8:35                     ` Borislav Petkov
2013-06-27  8:50                       ` Ingo Molnar

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=20130625165639.GH21579@rric.localhost \
    --to=rric@kernel.org \
    --cc=acme@infradead.org \
    --cc=bp@alien8.de \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.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.