From: Anshuman Khandual <khandual@linux.vnet.ibm.com>
To: linuxppc-dev@lists.ozlabs.org
Subject: [PATCH V11_RESEND 02/10] powerpc/perf: Re organize PMU branch filter processing on POWER8
Date: Tue, 16 Feb 2016 12:07:02 +0530 [thread overview]
Message-ID: <1455604630-16214-3-git-send-email-khandual@linux.vnet.ibm.com> (raw)
In-Reply-To: <1455604630-16214-1-git-send-email-khandual@linux.vnet.ibm.com>
This patch does some code re-arrangements to make it clear that kernel
ignores any separate privilege level branch filter request and does not
support any combinations of HW PMU branch filters.
Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
---
arch/powerpc/perf/power8-pmu.c | 22 +++++++---------------
1 file changed, 7 insertions(+), 15 deletions(-)
diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c
index 9958ba8..0d11e9e 100644
--- a/arch/powerpc/perf/power8-pmu.c
+++ b/arch/powerpc/perf/power8-pmu.c
@@ -656,8 +656,6 @@ static int power8_generic_events[] = {
static u64 power8_bhrb_filter_map(u64 branch_sample_type)
{
- u64 pmu_bhrb_filter = 0;
-
/* BHRB and regular PMU events share the same privilege state
* filter configuration. BHRB is always recorded along with a
* regular PMU event. As the privilege state filter is handled
@@ -665,24 +663,18 @@ static u64 power8_bhrb_filter_map(u64 branch_sample_type)
* PMU event, we ignore any separate BHRB specific request.
*/
- /* No branch filter requested */
- if (branch_sample_type & PERF_SAMPLE_BRANCH_ANY)
- return pmu_bhrb_filter;
-
- /* Invalid branch filter options - HW does not support */
- if (branch_sample_type & PERF_SAMPLE_BRANCH_ANY_RETURN)
- return -1;
+ /* Ignore user, kernel, hv bits */
+ branch_sample_type &= ~PERF_SAMPLE_BRANCH_PLM_ALL;
- if (branch_sample_type & PERF_SAMPLE_BRANCH_IND_CALL)
- return -1;
+ /* No branch filter requested */
+ if (branch_sample_type == PERF_SAMPLE_BRANCH_ANY)
+ return 0;
if (branch_sample_type & PERF_SAMPLE_BRANCH_CALL)
return -1;
- if (branch_sample_type & PERF_SAMPLE_BRANCH_ANY_CALL) {
- pmu_bhrb_filter |= POWER8_MMCRA_IFM1;
- return pmu_bhrb_filter;
- }
+ if (branch_sample_type == PERF_SAMPLE_BRANCH_ANY_CALL)
+ return POWER8_MMCRA_IFM1;
/* Every thing else is unsupported */
return -1;
--
2.1.0
next prev parent reply other threads:[~2016-02-16 6:37 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-16 6:37 [PATCH V11_RESEND 00/10] powerpc/perf: Enable SW branch filters Anshuman Khandual
2016-02-16 6:37 ` [PATCH V11_RESEND 01/10] powerpc/perf: Change name & type of 'pred' in power_pmu_bhrb_read Anshuman Khandual
2016-02-16 6:37 ` Anshuman Khandual [this message]
2016-02-16 6:37 ` [PATCH V11_RESEND 03/10] powerpc/perf: Restore privilege level filter support for BHRB Anshuman Khandual
2016-02-16 6:37 ` [PATCH V11_RESEND 04/10] powerpc/perf: Re organize BHRB processing Anshuman Khandual
2016-02-16 6:37 ` [PATCH V11_RESEND 05/10] powerpc/perf: Change the name of HW PMU branch filter tracking variable Anshuman Khandual
2016-02-16 6:37 ` [PATCH V11_RESEND 06/10] powerpc/lib: Add new branch analysis support functions Anshuman Khandual
2016-02-16 6:37 ` [PATCH V11_RESEND 07/10] powerpc/perf: Enable SW filtering in branch stack sampling framework Anshuman Khandual
2016-02-16 6:37 ` [PATCH V11_RESEND 08/10] powerpc/perf: Change POWER8 PMU configuration to work with SW filters Anshuman Khandual
2016-02-16 6:37 ` [PATCH V11_RESEND 09/10] powerpc/perf: Enable privilege mode SW branch filters Anshuman Khandual
2016-02-16 6:37 ` [PATCH V11_RESEND 10/10] selftests/powerpc: Add test for BHRB branch filters (HW & SW) Anshuman Khandual
2016-02-16 13:08 ` [PATCH V11_RESEND 00/10] powerpc/perf: Enable SW branch filters Christophe Leroy
2016-02-17 3:49 ` Anshuman Khandual
2016-02-17 4:23 ` Michael Ellerman
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=1455604630-16214-3-git-send-email-khandual@linux.vnet.ibm.com \
--to=khandual@linux.vnet.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
/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).