From: Michael Ellerman <mpe@ellerman.id.au>
To: Cody P Schafer <cody@linux.vnet.ibm.com>,
Linux PPC <linuxppc-dev@lists.ozlabs.org>,
Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
Ingo Molnar <mingo@redhat.com>, Paul Mackerras <paulus@samba.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Peter Zijlstra <peterz@infradead.org>,
scottwood@freescale.com, Cody P Schafer <cody@linux.vnet.ibm.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 02/11] perf: add PMU_FORMAT_RANGE() helper for use by sw-like pmus
Date: Tue, 4 Mar 2014 16:19:36 +1100 (EST) [thread overview]
Message-ID: <20140304051936.33A712C01AB@ozlabs.org> (raw)
In-Reply-To: <1393535105-7528-3-git-send-email-cody@linux.vnet.ibm.com>
On Thu, 2014-27-02 at 21:04:55 UTC, Cody P Schafer wrote:
> Add PMU_FORMAT_RANGE() and PMU_FORMAT_RANGE_RESERVED() (for reserved
> areas) which generate functions to extract the relevent bits from
> event->attr.config{,1,2} for use by sw-like pmus where the
> 'config{,1,2}' values don't map directly to hardware registers.
>
> Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
> ---
> include/linux/perf_event.h | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
> index e56b07f..3da5081 100644
> --- a/include/linux/perf_event.h
> +++ b/include/linux/perf_event.h
> @@ -871,4 +871,21 @@ _name##_show(struct device *dev, \
> \
> static struct device_attribute format_attr_##_name = __ATTR_RO(_name)
>
> +#define PMU_FORMAT_RANGE(name, attr_var, bit_start, bit_end) \
> +PMU_FORMAT_ATTR(name, #attr_var ":" #bit_start "-" #bit_end); \
> +PMU_FORMAT_RANGE_RESERVED(name, attr_var, bit_start, bit_end)
I really think these should have event in the name.
Someone looking at the code is going to see event_get_foo() and wonder where
that is defined. Grep won't find a definition, tags won't find a definition,
the least you can do is have the macro name give some hint.
> +#define PMU_FORMAT_RANGE_RESERVED(name, attr_var, bit_start, bit_end) \
It doesn't generate a format attribute.
> +static u64 event_get_##name##_max(void) \
> +{ \
> + int bits = (bit_end) - (bit_start) + 1; \
> + return ((0x1ULL << (bits - 1ULL)) - 1ULL) | \
> + (0xFULL << (bits - 4ULL)); \
What's wrong with:
(0x1ULL << ((bit_end) - (bit_start) + 1)) - 1ULL;
cheers
next prev parent reply other threads:[~2014-03-04 5:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-27 21:04 [PATCH v3 00/11] powerpc: Add support for Power Hypervisor supplied performance counters Cody P Schafer
2014-02-27 21:04 ` [PATCH v3 01/11] sysfs: create bin_attributes under the requested group Cody P Schafer
2014-02-27 21:04 ` [PATCH v3 02/11] perf: add PMU_FORMAT_RANGE() helper for use by sw-like pmus Cody P Schafer
2014-03-04 5:19 ` Michael Ellerman [this message]
2014-03-04 8:09 ` Cody P Schafer
2014-03-06 0:05 ` Cody P Schafer
2014-02-27 21:04 ` [PATCH v3 03/11] perf: provide a common perf_event_nop_0() for use with .event_idx Cody P Schafer
2014-03-04 5:19 ` Michael Ellerman
2014-03-04 7:01 ` Cody P Schafer
2014-03-05 1:19 ` Michael Ellerman
2014-02-27 21:04 ` [PATCH v3 04/11] powerpc: add hvcalls for 24x7 and gpci (get performance counter info) Cody P Schafer
2014-02-27 21:04 ` [PATCH v3 05/11] powerpc/perf: add hv_gpci interface header Cody P Schafer
2014-02-27 21:04 ` [PATCH v3 06/11] powerpc/perf: add 24x7 interface headers Cody P Schafer
2014-02-27 21:05 ` [PATCH v3 07/11] powerpc/perf: add a shared interface to get gpci version and capabilities Cody P Schafer
2014-02-27 21:05 ` [PATCH v3 08/11] powerpc/perf: add support for the hv gpci (get performance counter info) interface Cody P Schafer
2014-02-27 21:05 ` [PATCH v3 09/11] powerpc/perf: add support for the hv 24x7 interface Cody P Schafer
2014-02-27 21:05 ` [PATCH v3 10/11] powerpc/perf: add kconfig option for hypervisor provided counters Cody P Schafer
2014-02-27 21:05 ` [PATCH v3 11/11] powerpc/perf/hv_{gpci, 24x7}: add documentation of device attributes Cody P Schafer
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=20140304051936.33A712C01AB@ozlabs.org \
--to=mpe@ellerman.id.au \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@ghostprotocols.net \
--cc=cody@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@redhat.com \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=scottwood@freescale.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;
as well as URLs for NNTP newsgroup(s).