From: Alexander Shishkin <alexander.shishkin@linux.intel.com>
To: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Ingo Molnar <mingo@redhat.com>,
"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
vince@deater.net, Stephane Eranian <eranian@google.com>,
Arnaldo Carvalho de Melo <acme@infradead.org>
Subject: Re: [PATCH v0 0/5] perf: Introduce instruction trace filtering
Date: Mon, 14 Dec 2015 10:50:52 +0200 [thread overview]
Message-ID: <878u4xxvkj.fsf@ashishki-desk.ger.corp.intel.com> (raw)
In-Reply-To: <CANLsYkweGcRFxeFSHpdBF06CUe6W59s8+V3scXhFprG1d7znWQ@mail.gmail.com>
Mathieu Poirier <mathieu.poirier@linaro.org> writes:
> On 11 December 2015 at 06:36, Alexander Shishkin
> <alexander.shishkin@linux.intel.com> wrote:
> Alex, Peter and al,
>
> As I mentioned in a previous reply I think this patchset is aiming in
> the right direction. Here we are dealing with address range
> filtering, something that is common to both IntelPT and CS, but what
> happens when we want introduce options that aren't generic to all
> tracers and still want to us the ioctl method?
Are we still talking about filtering options or more like event
configuration? First, we need to understand if one particular feature or
an option should be enabled for the entire lifetime of an event or if it
should be configurable on the fly. For the former, you can use
attr.config and friends, for the latter it makes sense to use an ioctl.
If we're still talking about address range filtering, there is one
difference in coresight that I'm aware of, which is specifying
individual addresses as start/stop triggers (as opposed to enable
ranges) and that is already taken care of in the current parser, I
should probably write a comment to make it more apparent.
So my approach was to not consider them to be architecture specific
features, but simply features that either are or aren't supported by a
particular pmu.
> Can we make the current scheme more extensible or generic so that
> adding more architecture specific option is easily feasible?
Well, the bigger question is, how do you represent a very architecture
specific option in the core structures. I have one solution to that that
is described above. It shouldn't take much architecture-specific code to
handle each new option, unless it something that really only makes sense
for one architecture/pmu.
All that said, one could still extend the current code quite easily to
fit completely non-generic things. In the default clause, in the parser
function, one could add:
if (state == IF_STATE_ACTION)
if (event->pmu->itrace_filter_parse(event, &filter))
goto fail;
if one really had to.
Regards,
--
Alex
next prev parent reply other threads:[~2015-12-14 8:50 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-11 13:36 Alexander Shishkin
2015-12-11 13:36 ` [PATCH v0 1/5] perf: Move set_filter() from behind EVENT_TRACING Alexander Shishkin
2015-12-11 13:36 ` [PATCH v0 2/5] perf: Extend perf_event_aux() to optionally iterate through more events Alexander Shishkin
2015-12-11 13:36 ` [PATCH v0 3/5] perf: Introduce instruction trace filtering Alexander Shishkin
2015-12-11 14:02 ` Peter Zijlstra
2015-12-11 14:20 ` Alexander Shishkin
2015-12-11 14:23 ` Mark Rutland
2015-12-11 14:52 ` Peter Zijlstra
2015-12-11 15:12 ` Alexander Shishkin
2015-12-11 14:56 ` Peter Zijlstra
2015-12-11 15:14 ` Alexander Shishkin
2015-12-11 15:00 ` Peter Zijlstra
2015-12-11 15:17 ` Alexander Shishkin
2015-12-11 15:34 ` Peter Zijlstra
2015-12-11 16:06 ` Alexander Shishkin
2015-12-11 15:02 ` Peter Zijlstra
2015-12-11 15:20 ` Peter Zijlstra
2015-12-11 15:27 ` Alexander Shishkin
2015-12-11 15:33 ` Peter Zijlstra
2015-12-11 15:48 ` Alexander Shishkin
2015-12-11 16:01 ` Peter Zijlstra
2015-12-11 17:02 ` Peter Zijlstra
2015-12-11 15:09 ` Peter Zijlstra
2015-12-11 15:12 ` Peter Zijlstra
2015-12-11 15:28 ` Peter Zijlstra
2015-12-11 17:00 ` Peter Zijlstra
2015-12-11 17:13 ` Alexander Shishkin
2015-12-11 22:39 ` Peter Zijlstra
2015-12-11 16:59 ` Peter Zijlstra
2015-12-11 17:15 ` Alexander Shishkin
2015-12-11 18:11 ` Mathieu Poirier
2015-12-11 22:41 ` Peter Zijlstra
2015-12-11 13:36 ` [PATCH v0 4/5] perf/x86/intel/pt: IP filtering register/cpuid bits Alexander Shishkin
2015-12-11 13:36 ` [PATCH v0 5/5] perf/x86/intel/pt: Add support for instruction trace filtering in PT Alexander Shishkin
2015-12-11 18:06 ` Mathieu Poirier
2015-12-11 21:38 ` [PATCH v0 0/5] perf: Introduce instruction trace filtering Mathieu Poirier
2015-12-14 8:50 ` Alexander Shishkin [this message]
2015-12-15 0:25 ` Mathieu Poirier
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=878u4xxvkj.fsf@ashishki-desk.ger.corp.intel.com \
--to=alexander.shishkin@linux.intel.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@infradead.org \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=mingo@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®