diff mbox series

powerpc/perf: Include caps feature for power10 DD1 version

Message ID 20220728163746.85062-1-atrajeev@linux.vnet.ibm.com (mailing list archive)
State Accepted
Headers show
Series powerpc/perf: Include caps feature for power10 DD1 version | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 23 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 7 jobs.

Commit Message

Athira Rajeev July 28, 2022, 4:37 p.m. UTC
commit 6320e693d98c ("powerpc/perf: Add support for caps
under sysfs in powerpc") added support for caps under sysfs
in powerpc. This added caps directory to:
/sys/bus/event_source/devices/cpu/ for power8, power9, power10
and generic compat PMU in respective PMU driver code.

For power10, it is added under "power10_pmu_attr_groups". But
for DD1 version, attr_groups are defined under dd1 array:
"power10_pmu_attr_groups_dd1". Since caps is not added for DD1,
it fails to include "cpu/caps" in DD1 model. Also issue was
observed while booting power10 pseries with qemu version6,
where as not observed with qemu version7. This could be because
of support for the model in old qemu version. Below is the
trace log:

<<>>
[    2.125323][    T1] Can't update unknown attr grp name: cpu/caps^M
[    2.127748][    T1] ------------[ cut here ]------------^M
[    2.127764][    T1] Failed to register pmu: cpu, reason -22^M
[    2.129255][    T1] WARNING: CPU: 1 PID: 1 at kernel/events/core.c:13427 perf_event_sysfs_init+0xbc/0x108^M
[    2.131007][    T1] Modules linked in:^M
[    2.131434][    T1] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.19.0-rc2-00111-g6320e693d98c #148^M
[    2.131837][    T1] NIP:  c0000000020391f4 LR: c0000000020391f0 CTR: c0000000008c9c30^M
[    2.131924][    T1] REGS: c0000000044c38c0 TRAP: 0700   Not tainted  (5.19.0-rc2-00111-g6320e693d98c)^M
[    2.132048][    T1] MSR:  8000000002029033 <SF,VEC,EE,ME,IR,DR,RI,LE>  CR: 48000281  XER: 20040000^M
[    2.132422][    T1] CFAR: c00000000013feac IRQMASK: 0 ^M
[    2.132422][    T1] GPR00: c0000000020391f0 c0000000044c3b60 c00000000283db00 0000000000000027 ^M
[    2.132422][    T1] GPR04: 80000000ffffe0a8 0000000000000000 0000000000000004 00000000fdcd0000 ^M
[    2.132422][    T1] GPR08: 0000000000000027 c0000000ffe07e08 0000000000000001 0000000000000000 ^M
[    2.132422][    T1] GPR12: c00000000035dd90 c0000000fffff300 c000000000012478 0000000000000000 ^M
[    2.132422][    T1] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ^M
[    2.132422][    T1] GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ^M
[    2.132422][    T1] GPR24: c000000002003480 0000000000000007 c0000000012a78d0 c000000001170a80 ^M
[    2.132422][    T1] GPR28: c0000000026c4df8 c0000000026c4e68 0000000000000000 c0000000025a8628 ^M
[    2.133404][    T1] NIP [c0000000020391f4] perf_event_sysfs_init+0xbc/0x108^M
[    2.133479][    T1] LR [c0000000020391f0] perf_event_sysfs_init+0xb8/0x108^M
[    2.133729][    T1] Call Trace:^M
[    2.133879][    T1] [c0000000044c3b60] [c0000000020391f0] perf_event_sysfs_init+0xb8/0x108 (unreliable)^M
[    2.134113][    T1] [c0000000044c3bf0] [c000000000011ec4] do_one_initcall+0x64/0x2d0^M
[    2.134279][    T1] [c0000000044c3cd0] [c0000000020049fc] kernel_init_freeable+0x338/0x3e0^M
[    2.134362][    T1] [c0000000044c3db0] [c0000000000124a0] kernel_init+0x30/0x1a0^M
[    2.134440][    T1] [c0000000044c3e10] [c00000000000cd54] ret_from_kernel_thread+0x5c/0x64^M
[    2.134676][    T1] Instruction dump:^M
[    2.134878][    T1] 813f0038 2c090000 4180002c 7fe3fb78 4a3280c5 2c030000 7c651b78 41820018 ^M
[    2.135068][    T1] e89f0030 7f63db78 4a106c59 60000000 <0fe00000> ebff0000 4bffffb4 39200001 ^M
[    2.135305][    T1] ---[ end trace 0000000000000000 ]---^M
<<>>

Patch fixes this by adding caps for dd1 attr_groups in power10
PMU driver.

Fixes: 6320e693d98c ("powerpc/perf: Add support for caps under sysfs in powerpc")
Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
---
Note: The patch is on top of powerpc-next tree

 arch/powerpc/perf/power10-pmu.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Michael Ellerman Aug. 2, 2022, 11:02 a.m. UTC | #1
On Thu, 28 Jul 2022 22:07:46 +0530, Athira Rajeev wrote:
> commit 6320e693d98c ("powerpc/perf: Add support for caps
> under sysfs in powerpc") added support for caps under sysfs
> in powerpc. This added caps directory to:
> /sys/bus/event_source/devices/cpu/ for power8, power9, power10
> and generic compat PMU in respective PMU driver code.
> 
> For power10, it is added under "power10_pmu_attr_groups". But
> for DD1 version, attr_groups are defined under dd1 array:
> "power10_pmu_attr_groups_dd1". Since caps is not added for DD1,
> it fails to include "cpu/caps" in DD1 model. Also issue was
> observed while booting power10 pseries with qemu version6,
> where as not observed with qemu version7. This could be because
> of support for the model in old qemu version. Below is the
> trace log:
> 
> [...]

Applied to powerpc/next.

[1/1] powerpc/perf: Include caps feature for power10 DD1 version
      https://git.kernel.org/powerpc/c/8c9f37a78f70fad763f0d61f03245bb011765086

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/perf/power10-pmu.c b/arch/powerpc/perf/power10-pmu.c
index 403ba3a69512..9b5133e361a7 100644
--- a/arch/powerpc/perf/power10-pmu.c
+++ b/arch/powerpc/perf/power10-pmu.c
@@ -270,6 +270,7 @@  static struct attribute_group power10_pmu_caps_group = {
 static const struct attribute_group *power10_pmu_attr_groups_dd1[] = {
 	&power10_pmu_format_group,
 	&power10_pmu_events_group_dd1,
+	&power10_pmu_caps_group,
 	NULL,
 };