From: Ali Saidi <alisaidi@amazon.com> To: <linux-kernel@vger.kernel.org>, <linux-perf-users@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <german.gomez@arm.com>, <leo.yan@linaro.org>, <acme@kernel.org> Cc: <alisaidi@amazon.com>, <benh@kernel.crashing.org>, <Nick.Forrington@arm.com>, <alexander.shishkin@linux.intel.com>, <andrew.kilroy@arm.com>, <james.clark@arm.com>, <john.garry@huawei.com>, <jolsa@kernel.org>, <kjain@linux.ibm.com>, <lihuafei1@huawei.com>, <mark.rutland@arm.com>, <mathieu.poirier@linaro.org>, <mingo@redhat.com>, <namhyung@kernel.org>, <peterz@infradead.org>, <will@kernel.org> Subject: [PATCH v8 0/4] perf: arm-spe: Decode SPE source and use for perf c2c Date: Wed, 4 May 2022 18:48:45 +0000 [thread overview] Message-ID: <20220504184850.24986-1-alisaidi@amazon.com> (raw) When synthesizing data from SPE, augment the type with source information for Arm Neoverse cores so we can detect situtions like cache line contention and transfers on Arm platforms. This changes enables future changes to c2c on a system with SPE where lines that are shared among multiple cores show up in perf c2c output. Changes in v8: * Report NA for both mem_lvl and mem_lvl_num for stores where we have no information Changes in v7: * Minor change requested by Leo Yan Changes in v6: * Drop changes to c2c command which will come from Leo Yan Changes in v5: * Add a new snooping type to disambiguate cache-to-cache transfers where we don't know if the data is clean or dirty. * Set snoop flags on all the data-source cases * Special case stores as we have no information on them Changes in v4: * Bring-in the kernel's arch/arm64/include/asm/cputype.h into tools/ * Add neoverse-v1 to the neoverse cores list Ali Saidi (4): tools: arm64: Import cputype.h perf arm-spe: Use SPE data source for neoverse cores perf mem: Support mem_lvl_num in c2c command perf mem: Support HITM for when mem_lvl_num is any tools/arch/arm64/include/asm/cputype.h | 258 ++++++++++++++++++ .../util/arm-spe-decoder/arm-spe-decoder.c | 1 + .../util/arm-spe-decoder/arm-spe-decoder.h | 12 + tools/perf/util/arm-spe.c | 110 +++++++- tools/perf/util/mem-events.c | 20 +- 5 files changed, 383 insertions(+), 18 deletions(-) create mode 100644 tools/arch/arm64/include/asm/cputype.h -- 2.32.0
WARNING: multiple messages have this Message-ID (diff)
From: Ali Saidi <alisaidi@amazon.com> To: <linux-kernel@vger.kernel.org>, <linux-perf-users@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <german.gomez@arm.com>, <leo.yan@linaro.org>, <acme@kernel.org> Cc: <alisaidi@amazon.com>, <benh@kernel.crashing.org>, <Nick.Forrington@arm.com>, <alexander.shishkin@linux.intel.com>, <andrew.kilroy@arm.com>, <james.clark@arm.com>, <john.garry@huawei.com>, <jolsa@kernel.org>, <kjain@linux.ibm.com>, <lihuafei1@huawei.com>, <mark.rutland@arm.com>, <mathieu.poirier@linaro.org>, <mingo@redhat.com>, <namhyung@kernel.org>, <peterz@infradead.org>, <will@kernel.org> Subject: [PATCH v8 0/4] perf: arm-spe: Decode SPE source and use for perf c2c Date: Wed, 4 May 2022 18:48:45 +0000 [thread overview] Message-ID: <20220504184850.24986-1-alisaidi@amazon.com> (raw) When synthesizing data from SPE, augment the type with source information for Arm Neoverse cores so we can detect situtions like cache line contention and transfers on Arm platforms. This changes enables future changes to c2c on a system with SPE where lines that are shared among multiple cores show up in perf c2c output. Changes in v8: * Report NA for both mem_lvl and mem_lvl_num for stores where we have no information Changes in v7: * Minor change requested by Leo Yan Changes in v6: * Drop changes to c2c command which will come from Leo Yan Changes in v5: * Add a new snooping type to disambiguate cache-to-cache transfers where we don't know if the data is clean or dirty. * Set snoop flags on all the data-source cases * Special case stores as we have no information on them Changes in v4: * Bring-in the kernel's arch/arm64/include/asm/cputype.h into tools/ * Add neoverse-v1 to the neoverse cores list Ali Saidi (4): tools: arm64: Import cputype.h perf arm-spe: Use SPE data source for neoverse cores perf mem: Support mem_lvl_num in c2c command perf mem: Support HITM for when mem_lvl_num is any tools/arch/arm64/include/asm/cputype.h | 258 ++++++++++++++++++ .../util/arm-spe-decoder/arm-spe-decoder.c | 1 + .../util/arm-spe-decoder/arm-spe-decoder.h | 12 + tools/perf/util/arm-spe.c | 110 +++++++- tools/perf/util/mem-events.c | 20 +- 5 files changed, 383 insertions(+), 18 deletions(-) create mode 100644 tools/arch/arm64/include/asm/cputype.h -- 2.32.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2022-05-04 18:49 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-05-04 18:48 Ali Saidi [this message] 2022-05-04 18:48 ` [PATCH v8 0/4] perf: arm-spe: Decode SPE source and use for perf c2c Ali Saidi 2022-05-04 18:48 ` [PATCH v8 1/5] perf: Add SNOOP_PEER flag to perf mem data struct Ali Saidi 2022-05-04 18:48 ` Ali Saidi 2022-05-11 5:41 ` kajoljain 2022-05-11 5:41 ` kajoljain 2022-05-04 18:48 ` [PATCH v8 2/5] perf tools: sync addition of PERF_MEM_SNOOPX_PEER Ali Saidi 2022-05-04 18:48 ` Ali Saidi 2022-05-10 16:28 ` Arnaldo Carvalho de Melo 2022-05-10 16:28 ` Arnaldo Carvalho de Melo 2022-05-11 2:20 ` Leo Yan 2022-05-11 2:20 ` Leo Yan 2022-05-11 18:28 ` Arnaldo Carvalho de Melo 2022-05-11 18:28 ` Arnaldo Carvalho de Melo 2022-05-11 18:29 ` Arnaldo Carvalho de Melo 2022-05-11 18:29 ` Arnaldo Carvalho de Melo 2022-05-11 5:42 ` kajoljain 2022-05-11 5:42 ` kajoljain 2022-05-04 18:48 ` [PATCH v8 3/5] perf mem: Print snoop peer flag Ali Saidi 2022-05-04 18:48 ` Ali Saidi 2022-05-11 5:45 ` kajoljain 2022-05-11 5:45 ` kajoljain 2022-05-04 18:48 ` [PATCH v8 4/5] perf arm-spe: Don't set data source if it's not a memory operation Ali Saidi 2022-05-04 18:48 ` Ali Saidi 2022-05-04 18:48 ` [PATCH v8 5/5] perf arm-spe: Use SPE data source for neoverse cores Ali Saidi 2022-05-04 18:48 ` Ali Saidi 2022-05-05 15:03 ` Leo Yan 2022-05-05 15:03 ` Leo Yan 2022-05-17 2:03 [PATCH v8 0/4] perf: arm-spe: Decode SPE source and use for perf c2c Ali Saidi 2022-05-17 2:03 ` Ali Saidi 2022-05-17 21:20 ` Arnaldo Carvalho de Melo 2022-05-17 21:20 ` Arnaldo Carvalho de Melo 2022-05-18 1:06 ` Leo Yan 2022-05-18 1:06 ` Leo Yan 2022-05-18 4:16 ` Leo Yan 2022-05-18 4:16 ` Leo Yan 2022-05-19 15:16 ` Joe Mario 2022-05-19 15:16 ` Joe Mario 2022-05-22 6:15 ` Leo Yan 2022-05-22 6:15 ` Leo Yan 2022-05-23 17:24 ` Joe Mario 2022-05-23 17:24 ` Joe Mario 2022-05-26 14:44 ` Leo Yan 2022-05-26 14:44 ` Leo Yan
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=20220504184850.24986-1-alisaidi@amazon.com \ --to=alisaidi@amazon.com \ --cc=Nick.Forrington@arm.com \ --cc=acme@kernel.org \ --cc=alexander.shishkin@linux.intel.com \ --cc=andrew.kilroy@arm.com \ --cc=benh@kernel.crashing.org \ --cc=german.gomez@arm.com \ --cc=james.clark@arm.com \ --cc=john.garry@huawei.com \ --cc=jolsa@kernel.org \ --cc=kjain@linux.ibm.com \ --cc=leo.yan@linaro.org \ --cc=lihuafei1@huawei.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=mathieu.poirier@linaro.org \ --cc=mingo@redhat.com \ --cc=namhyung@kernel.org \ --cc=peterz@infradead.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.