Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752163AbdCPOZH (ORCPT ); Thu, 16 Mar 2017 10:25:07 -0400 Received: from mail-it0-f68.google.com ([209.85.214.68]:35092 "EHLO mail-it0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751483AbdCPOZF (ORCPT ); Thu, 16 Mar 2017 10:25:05 -0400 From: Vince Weaver X-Google-Original-From: Vince Weaver Date: Thu, 16 Mar 2017 10:24:53 -0400 (EDT) X-X-Sender: vince@macbook-air To: hpa@zytor.com, torvalds@linux-foundation.org, eranian@google.com, peterz@infradead.org, alexander.shishkin@linux.intel.com, mingo@kernel.org, acme@infradead.org, tglx@linutronix.de, jolsa@redhat.com, linux-kernel@vger.kernel.org, vincent.weaver@maine.edu, mathieu.poirier@linaro.org, acme@redhat.com cc: linux-tip-commits@vger.kernel.org Subject: Re: [tip:perf/core] perf/core: Add a flag for partial AUX records In-Reply-To: Message-ID: References: <20170220133352.17995-4-alexander.shishkin@linux.intel.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1870 Lines: 48 On Thu, 16 Mar 2017, tip-bot for Alexander Shishkin wrote: > Commit-ID: ae0c2d995d648d5165545d5e05e2869642009b38 > perf/core: Add a flag for partial AUX records > > The Intel PT driver needs to be able to communicate partial AUX transactions, > that is, transactions with gaps in data for reasons other than no room > left in the buffer (i.e. truncated transactions). Therefore, this condition > does not imply a wakeup for the consumer. > > To this end, add a new "partial" AUX flag. ... > diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h > index bec0aad..d09a9cd 100644 > --- a/include/uapi/linux/perf_event.h > +++ b/include/uapi/linux/perf_event.h > @@ -915,6 +915,7 @@ enum perf_callchain_context { > */ > #define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */ > #define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */ > +#define PERF_AUX_FLAG_PARTIAL 0x04 /* record contains gaps */ was this included in the wrong patch? It adds the flag but nothing uses it? Though it appears a later patch makes use of it. This makes it confusing when trying to update the perf_event_open.2 manpage, as the git commit that adds the new ABI to perf_event.h doesn't seem to have anything to do with any behavior affected by it. > #define PERF_FLAG_FD_NO_GROUP (1UL << 0) > #define PERF_FLAG_FD_OUTPUT (1UL << 1) > diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c > index 9654e55..2831480 100644 > --- a/kernel/events/ring_buffer.c > +++ b/kernel/events/ring_buffer.c > @@ -424,8 +424,8 @@ err: > */ > void perf_aux_output_end(struct perf_output_handle *handle, unsigned long size) > { > + bool wakeup = !!(handle->aux_flags & PERF_AUX_FLAG_TRUNCATED); > struct ring_buffer *rb = handle->rb; > - bool wakeup = !!handle->aux_flags; > unsigned long aux_head; >