Re: [PATCH 4/5] perf/powerpc: Count dropped samples in core-book3s PMU

From: Madhavan Srinivasan
Date: Fri Sep 13 2024 - 00:46:51 EST



On 9/5/24 8:40 AM, Namhyung Kim wrote:
Due to the hardware limitation, sometimes it could sample kernel address
while attr.exclude_kernel is set. In that case it silently drops the
sample. Let's count that case in the new dropped_samples counter.

Nice catch. Thanks for the fix.
Reviewed-by: Madhavan Srinivasan <maddy@xxxxxxxxxxxxx>

Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Nicholas Piggin <npiggin@xxxxxxxxx>
Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
Cc: Naveen N Rao <naveen@xxxxxxxxxx>
Cc: Kajol Jain <kjain@xxxxxxxxxxxxx>
Cc: Athira Rajeev <atrajeev@xxxxxxxxxxxxxxxxxx>
Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
---
arch/powerpc/perf/core-book3s.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
index 42867469752d73cf..553e288b9f113836 100644
--- a/arch/powerpc/perf/core-book3s.c
+++ b/arch/powerpc/perf/core-book3s.c
@@ -2287,8 +2287,10 @@ static void record_and_restart(struct perf_event *event, unsigned long val,
*/
if (event->attr.exclude_kernel &&
(event->attr.sample_type & PERF_SAMPLE_IP) &&
- is_kernel_addr(mfspr(SPRN_SIAR)))
+ is_kernel_addr(mfspr(SPRN_SIAR))) {
+ atomic64_inc(&event->dropped_samples);
record = 0;
+ }
/*
* Finally record data if requested.