From: Anshuman Khandual <khandual@linux.vnet.ibm.com>
To: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>, mpe@ellerman.id.au
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 2/2] powerpc/perf: support new BHRB filtering modes
Date: Mon, 26 Dec 2016 10:36:34 +0530 [thread overview]
Message-ID: <5860A55A.2090205@linux.vnet.ibm.com> (raw)
In-Reply-To: <1482559353-22015-2-git-send-email-maddy@linux.vnet.ibm.com>
On 12/24/2016 11:32 AM, Madhavan Srinivasan wrote:
> Add support for new BHRB filtering modes in
> power9. Patch updates the some of the branch types
> based on "Programming Note" information from
> PowerISA v3.0 "BHRB Filtering" section.
Please reformat, reword, align the commit paragraph and provide more details.
>
> Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
> ---
> arch/powerpc/perf/power9-pmu.c | 33 +++++++++++++++++++++++++++------
> 1 file changed, 27 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/perf/power9-pmu.c b/arch/powerpc/perf/power9-pmu.c
> index 56ad09801fff..7165f18934df 100644
> --- a/arch/powerpc/perf/power9-pmu.c
> +++ b/arch/powerpc/perf/power9-pmu.c
> @@ -102,6 +102,11 @@ enum {
> #define POWER9_MMCRA_IFM1 0x0000000040000000UL
> #define POWER9_MMCRA_IFM2 0x0000000080000000UL
> #define POWER9_MMCRA_IFM3 0x00000000C0000000UL
> +#define POWER9_MMCRA_FJ 0x0000000100000000UL
> +#define POWER9_MMCRA_FR 0x0000000200000000UL
> +#define POWER9_MMCRA_FC 0x0000000400000000UL
> +#define POWER9_MMCRA_FU 0x0000000800000000UL
> +#define POWER9_MMCRA_FD 0x0000001000000000UL
This requires more explanation on what kind of filtering they do and how.
Also it will be a good idea to explain the existing IFM1, IFM2, IFM3
filters as well.
>
> /* PowerISA v2.07 format attribute structure*/
> extern struct attribute_group isa207_pmu_format_group;
> @@ -240,14 +245,30 @@ static u64 power9_bhrb_filter_map(u64 branch_sample_type)
> return pmu_bhrb_filter;
>
> /* Invalid branch filter options - HW does not support */
> - if (branch_sample_type & PERF_SAMPLE_BRANCH_ANY_RETURN)
> - return -1;
> + if (branch_sample_type & PERF_SAMPLE_BRANCH_ANY_RETURN) {
> + pmu_bhrb_filter = POWER9_MMCRA_FC | POWER9_MMCRA_FJ;
> + return pmu_bhrb_filter;
> + }
> +
> + if (branch_sample_type & PERF_SAMPLE_BRANCH_IND_CALL) {
> + pmu_bhrb_filter = POWER9_MMCRA_FD | POWER9_MMCRA_FR | POWER9_MMCRA_FJ;
> + return pmu_bhrb_filter;
> + }
> +
> + if (branch_sample_type & PERF_SAMPLE_BRANCH_COND) {
> + pmu_bhrb_filter = POWER9_MMCRA_FU;
> + return pmu_bhrb_filter;
> + }
>
> - if (branch_sample_type & PERF_SAMPLE_BRANCH_IND_CALL)
> - return -1;
> + if (branch_sample_type & PERF_SAMPLE_BRANCH_IND_JUMP) {
> + pmu_bhrb_filter = POWER9_MMCRA_FD | POWER9_MMCRA_FC | POWER9_MMCRA_FR;
> + return pmu_bhrb_filter;
> + }
>
> - if (branch_sample_type & PERF_SAMPLE_BRANCH_CALL)
> - return -1;
> + if (branch_sample_type & PERF_SAMPLE_BRANCH_CALL) {
> + pmu_bhrb_filter = POWER9_MMCRA_FC;
> + return pmu_bhrb_filter;
> + }
May be we can define something like POWER9_BHRB_FILTER_BRANCH_IND_JUMP as
(POWER9_MMCRA_FD | POWER9_MMCRA_FC | POWER9_MMCRA_FR) for all the filters
and use it instead.
next prev parent reply other threads:[~2016-12-26 5:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-24 6:02 [PATCH 1/2] powerpc/perf: Factor out bhrb functions Madhavan Srinivasan
2016-12-24 6:02 ` [PATCH 2/2] powerpc/perf: support new BHRB filtering modes Madhavan Srinivasan
2016-12-26 5:06 ` Anshuman Khandual [this message]
2016-12-26 4:47 ` [PATCH 1/2] powerpc/perf: Factor out bhrb functions Anshuman Khandual
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=5860A55A.2090205@linux.vnet.ibm.com \
--to=khandual@linux.vnet.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.vnet.ibm.com \
--cc=mpe@ellerman.id.au \
/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.