mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-kernel@vger.kernel.org, Will Deacon <will.deacon@arm.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Markus Metzger <markus.t.metzger@intel.com>
Subject: Re: [PATCH] perf: Allow suppressing AUX records
Date: Sat, 31 Mar 2018 11:35:46 +0200	[thread overview]
Message-ID: <20180331093546.ac7ygm4iz4l7hg4x@gmail.com> (raw)
In-Reply-To: <20180329115429.GX4043@hirez.programming.kicks-ass.net>


* Peter Zijlstra <peterz@infradead.org> wrote:

> On Mon, Jan 15, 2018 at 05:00:20PM +0200, Alexander Shishkin wrote:
> > It has been pointed out to me many times that it is useful to be able
> > to switch off AUX records to save the bandwidth for records that actually
> > matter, for example, in AUX overwrite mode.
> > 
> > The usefulness of PERF_RECORD_AUX is in some of its flags, like the
> > TRUNCATED flag that tells the decoder where exactly gaps in the trace are.
> > The OVERWRITE flag, on the other hand will be set on every single record
> > in overwrite mode. However, a PERF_RECORD_AUX[flags=OVERWRITE] is
> > generated on every target task's sched_out, which over time adds up to
> > a lot of useless information.
> > 
> > In case the existing userspace depends on AUX records in the overwrite
> > mode, we preserve the original behavior and add an opt-in for the new
> > behavior, wherein the 'useless' records get suppressed.
> > 
> > This patch adds an attribute bit to the described effect.
> > 
> > Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> > Cc: Markus Metzger <markus.t.metzger@intel.com>
> > Cc: Adrian Hunter <adrian.hunter@intel.com>
> > ---
> >  include/uapi/linux/perf_event.h |  3 ++-
> >  kernel/events/core.c            |  5 +++++
> >  kernel/events/ring_buffer.c     | 13 +++++++++++--
> >  3 files changed, 18 insertions(+), 3 deletions(-)
> > 
> > diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h
> > index c77c9a2ebbbb..d7a981130561 100644
> > --- a/include/uapi/linux/perf_event.h
> > +++ b/include/uapi/linux/perf_event.h
> > @@ -370,7 +370,8 @@ struct perf_event_attr {
> >  				context_switch :  1, /* context switch data */
> >  				write_backward :  1, /* Write ring buffer from end to beginning */
> >  				namespaces     :  1, /* include namespaces data */
> > -				__reserved_1   : 35;
> > +				suppress_aux   :  1, /* don't generate PERF_RECORD_AUX */
> > +				__reserved_1   : 34;
> >  
> >  	union {
> >  		__u32		wakeup_events;	  /* wakeup every n events */
> 
> So I'm basically fine with this patch, however I wonder if we really
> need this suppress flag and can't just unconditionally drop these
> events.
> 
> Ash said that as far as he knows no Intel-PT user actually relies on it;
> Will is there anything ARM that is known to rely on them?
> 
> In anycase, tentative ACK on this, unless we wants to be brave and forgo
> this flag.
> 
> Ingo, any opinions?

Yeah, I'd suggest we just supress those record, and wait for complaints - let's 
not complicate the ABI if not necessary?

Thanks,

	Ingo

  reply	other threads:[~2018-03-31  9:35 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-14 12:30 [PATCH v1 0/4] perf: Allow suppressing useless " Alexander Shishkin
2017-11-14 12:30 ` [PATCH v1 1/4] perf: Allow suppressing " Alexander Shishkin
2017-11-15 12:00   ` Peter Zijlstra
2018-01-15 15:00     ` [PATCH] " Alexander Shishkin
2018-03-29 11:54       ` Peter Zijlstra
2018-03-31  9:35         ` Ingo Molnar [this message]
2018-04-03 17:32           ` Will Deacon
2018-04-04 14:53             ` [PATCH v2] perf: Suppress AUX/OVERWRITE records Alexander Shishkin
2018-05-04 12:09               ` Alexander Shishkin
2018-05-04 15:35                 ` Arnaldo Carvalho de Melo
2018-05-04 15:36                   ` Arnaldo Carvalho de Melo
2018-09-25  9:27               ` [tip:perf/core] " tip-bot for Alexander Shishkin
2017-11-14 12:30 ` [PATCH v1 2/4] tools, perf_event.h: Synchronize Alexander Shishkin
2017-11-14 12:30 ` [PATCH v1 3/4] perf tools: Add 'suppress_aux' attribute bit definition and fallback Alexander Shishkin
2017-11-14 12:30 ` [PATCH v1 4/4] perf intel-pt, intel-bts: Suppress useless AUX records by default Alexander Shishkin

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=20180331093546.ac7ygm4iz4l7hg4x@gmail.com \
    --to=mingo@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markus.t.metzger@intel.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=will.deacon@arm.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

all inboxes | Powered by JetHome®