[PATCH] powerpc/perf: Fix perf_get_data_addr() for power9 DD1

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3434d

2 messages, 2 authors, 2017-03-14 · open the first message on its own page

[PATCH] powerpc/perf: Fix perf_get_data_addr() for power9 DD1

From: Madhavan Srinivasan <hidden>
Date: 2017-02-20 13:56:50

Power9 DD1 do not support PMU_HAS_SIER flag and sdsync
in perf_get_data_addr() defaults to MMCRA_SDSYNC which
is wrong. Since power9 MMCRA does not support SDSYNC bit,
patch includes PPMU_NO_SIAR flag to the check and set the
sdsync with MMCRA_SAMPLE_ENABLE;

Signed-off-by: Madhavan Srinivasan <redacted>
---
 arch/powerpc/perf/core-book3s.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
index 270eb9b74e2e..e9e6dfff032f 100644
--- a/arch/powerpc/perf/core-book3s.c
+++ b/arch/powerpc/perf/core-book3s.c
@@ -183,6 +183,8 @@ static inline void perf_get_data_addr(struct pt_regs *regs, u64 *addrp)
 			sdsync = POWER7P_MMCRA_SDAR_VALID;
 		else if (ppmu->flags & PPMU_ALT_SIPR)
 			sdsync = POWER6_MMCRA_SDSYNC;
+		else if (ppmu->flags & PPMU_NO_SIAR)
+			sdsync = MMCRA_SAMPLE_ENABLE;
 		else
 			sdsync = MMCRA_SDSYNC;
 
-- 
2.7.4

Re: powerpc/perf: Fix perf_get_data_addr() for power9 DD1

From: Michael Ellerman <hidden>
Date: 2017-03-14 11:45:51

On Mon, 2017-02-20 at 13:56:30 UTC, Madhavan Srinivasan wrote:
Power9 DD1 do not support PMU_HAS_SIER flag and sdsync
in perf_get_data_addr() defaults to MMCRA_SDSYNC which
is wrong. Since power9 MMCRA does not support SDSYNC bit,
patch includes PPMU_NO_SIAR flag to the check and set the
sdsync with MMCRA_SAMPLE_ENABLE;

Signed-off-by: Madhavan Srinivasan <redacted>
Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/f04d108029063a8a67528a88449c41

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help