From: Anshuman Khandual <anshuman.khandual@arm.com> To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Anshuman Khandual <anshuman.khandual@arm.com>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, James Clark <james.clark@arm.com>, Rob Herring <robh@kernel.org>, Marc Zyngier <maz@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, linux-perf-users@vger.kernel.org Subject: [RFC V2 4/8] arm64/perf: Update struct pmu_hw_events for BRBE Date: Tue, 12 Apr 2022 17:24:51 +0530 [thread overview] Message-ID: <20220412115455.293119-5-anshuman.khandual@arm.com> (raw) In-Reply-To: <20220412115455.293119-1-anshuman.khandual@arm.com> A single perf event instance BRBE related contexts and data will be tracked in struct pmu_hw_events. Hence update the structure to accommodate required details related to BRBE. Cc: Will Deacon <will@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> --- include/linux/perf/arm_pmu.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/include/linux/perf/arm_pmu.h b/include/linux/perf/arm_pmu.h index 3d427ac0ca45..18e519e4e658 100644 --- a/include/linux/perf/arm_pmu.h +++ b/include/linux/perf/arm_pmu.h @@ -43,6 +43,11 @@ }, \ } +/* + * Maximum branch records in BRBE + */ +#define BRBE_MAX_ENTRIES 64 + /* The events for a given PMU register set. */ struct pmu_hw_events { /* @@ -69,6 +74,23 @@ struct pmu_hw_events { struct arm_pmu *percpu_pmu; int irq; + + /* Detected BRBE attributes */ + bool v1p1; + int brbe_cc; + int brbe_nr; + + /* Evaluated BRBE configuration */ + u64 brbfcr; + u64 brbcr; + + /* Tracked BRBE context */ + unsigned int brbe_users; + void *brbe_context; + + /* Captured BRBE buffer - copied as is into perf_sample_data */ + struct perf_branch_stack brbe_stack; + struct perf_branch_entry brbe_entries[BRBE_MAX_ENTRIES]; }; enum armpmu_attr_groups { -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com> To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Anshuman Khandual <anshuman.khandual@arm.com>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>, Mark Rutland <mark.rutland@arm.com>, James Clark <james.clark@arm.com>, Rob Herring <robh@kernel.org>, Marc Zyngier <maz@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Arnaldo Carvalho de Melo <acme@kernel.org>, linux-perf-users@vger.kernel.org Subject: [RFC V2 4/8] arm64/perf: Update struct pmu_hw_events for BRBE Date: Tue, 12 Apr 2022 17:24:51 +0530 [thread overview] Message-ID: <20220412115455.293119-5-anshuman.khandual@arm.com> (raw) In-Reply-To: <20220412115455.293119-1-anshuman.khandual@arm.com> A single perf event instance BRBE related contexts and data will be tracked in struct pmu_hw_events. Hence update the structure to accommodate required details related to BRBE. Cc: Will Deacon <will@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> --- include/linux/perf/arm_pmu.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/include/linux/perf/arm_pmu.h b/include/linux/perf/arm_pmu.h index 3d427ac0ca45..18e519e4e658 100644 --- a/include/linux/perf/arm_pmu.h +++ b/include/linux/perf/arm_pmu.h @@ -43,6 +43,11 @@ }, \ } +/* + * Maximum branch records in BRBE + */ +#define BRBE_MAX_ENTRIES 64 + /* The events for a given PMU register set. */ struct pmu_hw_events { /* @@ -69,6 +74,23 @@ struct pmu_hw_events { struct arm_pmu *percpu_pmu; int irq; + + /* Detected BRBE attributes */ + bool v1p1; + int brbe_cc; + int brbe_nr; + + /* Evaluated BRBE configuration */ + u64 brbfcr; + u64 brbcr; + + /* Tracked BRBE context */ + unsigned int brbe_users; + void *brbe_context; + + /* Captured BRBE buffer - copied as is into perf_sample_data */ + struct perf_branch_stack brbe_stack; + struct perf_branch_entry brbe_entries[BRBE_MAX_ENTRIES]; }; enum armpmu_attr_groups { -- 2.25.1
next prev parent reply other threads:[~2022-04-12 12:01 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-04-12 11:54 [RFC V2 0/8] arm64/perf: Enable branch stack sampling Anshuman Khandual 2022-04-12 11:54 ` Anshuman Khandual 2022-04-12 11:54 ` [RFC V2 1/8] perf: Consolidate branch sample filter helpers Anshuman Khandual 2022-04-12 11:54 ` Anshuman Khandual 2022-04-12 18:00 ` kernel test robot 2022-04-12 18:00 ` kernel test robot 2022-04-12 19:02 ` kernel test robot 2022-04-15 8:19 ` Peter Zijlstra 2022-04-15 8:19 ` Peter Zijlstra 2022-04-12 11:54 ` [RFC V2 2/8] arm64/perf: Add register definitions for BRBE Anshuman Khandual 2022-04-12 11:54 ` Anshuman Khandual 2022-04-12 11:54 ` [RFC V2 3/8] arm64/perf: Update struct arm_pmu " Anshuman Khandual 2022-04-12 11:54 ` Anshuman Khandual 2022-04-12 11:54 ` Anshuman Khandual [this message] 2022-04-12 11:54 ` [RFC V2 4/8] arm64/perf: Update struct pmu_hw_events " Anshuman Khandual 2022-04-12 11:54 ` [RFC V2 5/8] driver/perf/arm_pmu_platform: Add support for BRBE attributes detection Anshuman Khandual 2022-04-12 11:54 ` Anshuman Khandual 2022-04-12 11:54 ` [RFC V2 6/8] arm64/perf: Drive BRBE from perf event states Anshuman Khandual 2022-04-12 11:54 ` Anshuman Khandual 2022-04-12 11:54 ` [RFC V2 7/8] arm64/perf: Add BRBE driver Anshuman Khandual 2022-04-12 11:54 ` Anshuman Khandual 2022-04-12 11:54 ` [RFC V2 8/8] arm64/perf: Enable branch stack sampling Anshuman Khandual 2022-04-12 11:54 ` 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=20220412115455.293119-5-anshuman.khandual@arm.com \ --to=anshuman.khandual@arm.com \ --cc=acme@kernel.org \ --cc=catalin.marinas@arm.com \ --cc=james.clark@arm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-perf-users@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=maz@kernel.org \ --cc=mingo@redhat.com \ --cc=peterz@infradead.org \ --cc=robh@kernel.org \ --cc=will@kernel.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: linkBe 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.