From: "Kulkarni, Ganapatrao" <Ganapatrao.Kulkarni@cavium.com> To: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org> Cc: "Will.Deacon@arm.com" <Will.Deacon@arm.com>, "mark.rutland@arm.com" <mark.rutland@arm.com>, "suzuki.poulose@arm.com" <suzuki.poulose@arm.com>, "rdunlap@infradead.org" <rdunlap@infradead.org>, "Nair, Jayachandran" <Jayachandran.Nair@cavium.com>, "Richter, Robert" <Robert.Richter@cavium.com>, "Lomovtsev, Vadim" <Vadim.Lomovtsev@cavium.com>, Jan Glauber <Jan.Glauber@cavium.com>, "gklkml16@gmail.com" <gklkml16@gmail.com> Subject: [PATCH v9 1/2] perf, uncore: Adding documentation for ThunderX2 pmu uncore driver Date: Wed, 5 Dec 2018 10:59:28 +0000 [thread overview] Message-ID: <20181205105853.15154-2-ganapatrao.kulkarni@cavium.com> (raw) In-Reply-To: <20181205105853.15154-1-ganapatrao.kulkarni@cavium.com> The SoC has PMU support in its L3 cache controller (L3C) and in the DDR4 Memory Controller (DMC). Signed-off-by: Ganapatrao Kulkarni <ganapatrao.kulkarni@cavium.com> --- Documentation/perf/thunderx2-pmu.txt | 93 ++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Documentation/perf/thunderx2-pmu.txt diff --git a/Documentation/perf/thunderx2-pmu.txt b/Documentation/perf/thunderx2-pmu.txt new file mode 100644 index 000000000000..f8835bf1068c --- /dev/null +++ b/Documentation/perf/thunderx2-pmu.txt @@ -0,0 +1,93 @@ + +Cavium ThunderX2 SoC Performance Monitoring Unit (PMU UNCORE) +========================================================================== + +ThunderX2 SoC PMU consists of independent system wide per Socket PMUs, such +as Level 3 Cache(L3C) and DDR4 Memory Controller(DMC). + +The DMC has 8 interleaved channels and the L3C has 16 interleaved tiles. Events +are counted for default channel(i.e channel 0) and prorated to total number of +channels/tiles. + +DMC and L3C supports up to 4 counters. Counters are independently programmable +and can be started and stopped individually. Each counter can be set to +different event. Counters are 32 bit and do not support overflow interrupt; +they are read every 2 seconds. + +PMU UNCORE (perf) driver: + +The thunderx2_pmu driver registers per socket perf PMUs for DMC and L3C devices. +Each PMU can be used to count up to 4 events simultaneously. PMUs provide +description of its available events and configuration options +in sysfs, see /sys/devices/uncore_<l3c_S/dmc_S/>; S is the socket id. + +The driver does not support sampling, therefore "perf record" will +not work. Per-task perf sessions are not supported. + +Examples: + +perf stat -a -e uncore_dmc_0/cnt_cycles/ sleep 1 + +perf stat -a -e \ +uncore_dmc_0/cnt_cycles/,\ +uncore_dmc_0/data_transfers/,\ +uncore_dmc_0/read_txns/,\ +uncore_dmc_0/write_txns/ sleep 1 + +perf stat -a -e \ +uncore_l3c_0/read_request/,\ +uncore_l3c_0/read_hit/,\ +uncore_l3c_0/inv_request/,\ +uncore_l3c_0/inv_hit/ sleep 1 + + +L3C events: +============ + +read_request: + Number of Read requests received by the L3 Cache. + This include Read as well as Read Exclusives. + +read_hit: + Number of Read requests received by the L3 cache that were hit + in the L3 (Data provided form the L3) + +writeback_request: + Number of Write Backs received by the L3 Cache. These are basically + the L2 Evicts and writes from the PCIe Write Cache. + +inv_nwrite_request: + This is the Number of Invalidate and Write received by the L3 Cache. + Also Writes from IO that did not go through the PCIe Write Cache. + +inv_nwrite_hit + This is the Number of Invalidate and Write received by the L3 Cache + That were a hit in the L3 Cache. + +inv_request: + Number of Invalidate request received by the L3 Cache. + +inv_hit: + Number of Invalidate request received by the L3 Cache that were a + hit in L3. + +evict_request: + Number of Evicts that the L3 generated. + +NOTE: +1. Granularity of all these events counter value is cache line length(64 Bytes). +2. L3C cache Hit Ratio = (read_hit + inv_nwrite_hit + inv_hit) / (read_request + inv_nwrite_request + inv_request) + +DMC events: +============ +cnt_cycles: + Count cycles (Clocks at the DMC clock rate) + +write_txns: + Number of 64 Bytes write transactions received by the DMC(s) + +read_txns: + Number of 64 Bytes Read transactions received by the DMC(s) + +data_transfers: + Number of 64 Bytes data transferred to or from DRAM. -- 2.18.0
WARNING: multiple messages have this Message-ID (diff)
From: "Kulkarni, Ganapatrao" <Ganapatrao.Kulkarni@cavium.com> To: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org> Cc: "mark.rutland@arm.com" <mark.rutland@arm.com>, "Nair, Jayachandran" <Jayachandran.Nair@cavium.com>, "suzuki.poulose@arm.com" <suzuki.poulose@arm.com>, "gklkml16@gmail.com" <gklkml16@gmail.com>, "rdunlap@infradead.org" <rdunlap@infradead.org>, "Will.Deacon@arm.com" <Will.Deacon@arm.com>, "Lomovtsev, Vadim" <Vadim.Lomovtsev@cavium.com>, "Richter, Robert" <Robert.Richter@cavium.com>, Jan Glauber <Jan.Glauber@cavium.com> Subject: [PATCH v9 1/2] perf, uncore: Adding documentation for ThunderX2 pmu uncore driver Date: Wed, 5 Dec 2018 10:59:28 +0000 [thread overview] Message-ID: <20181205105853.15154-2-ganapatrao.kulkarni@cavium.com> (raw) In-Reply-To: <20181205105853.15154-1-ganapatrao.kulkarni@cavium.com> The SoC has PMU support in its L3 cache controller (L3C) and in the DDR4 Memory Controller (DMC). Signed-off-by: Ganapatrao Kulkarni <ganapatrao.kulkarni@cavium.com> --- Documentation/perf/thunderx2-pmu.txt | 93 ++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Documentation/perf/thunderx2-pmu.txt diff --git a/Documentation/perf/thunderx2-pmu.txt b/Documentation/perf/thunderx2-pmu.txt new file mode 100644 index 000000000000..f8835bf1068c --- /dev/null +++ b/Documentation/perf/thunderx2-pmu.txt @@ -0,0 +1,93 @@ + +Cavium ThunderX2 SoC Performance Monitoring Unit (PMU UNCORE) +========================================================================== + +ThunderX2 SoC PMU consists of independent system wide per Socket PMUs, such +as Level 3 Cache(L3C) and DDR4 Memory Controller(DMC). + +The DMC has 8 interleaved channels and the L3C has 16 interleaved tiles. Events +are counted for default channel(i.e channel 0) and prorated to total number of +channels/tiles. + +DMC and L3C supports up to 4 counters. Counters are independently programmable +and can be started and stopped individually. Each counter can be set to +different event. Counters are 32 bit and do not support overflow interrupt; +they are read every 2 seconds. + +PMU UNCORE (perf) driver: + +The thunderx2_pmu driver registers per socket perf PMUs for DMC and L3C devices. +Each PMU can be used to count up to 4 events simultaneously. PMUs provide +description of its available events and configuration options +in sysfs, see /sys/devices/uncore_<l3c_S/dmc_S/>; S is the socket id. + +The driver does not support sampling, therefore "perf record" will +not work. Per-task perf sessions are not supported. + +Examples: + +perf stat -a -e uncore_dmc_0/cnt_cycles/ sleep 1 + +perf stat -a -e \ +uncore_dmc_0/cnt_cycles/,\ +uncore_dmc_0/data_transfers/,\ +uncore_dmc_0/read_txns/,\ +uncore_dmc_0/write_txns/ sleep 1 + +perf stat -a -e \ +uncore_l3c_0/read_request/,\ +uncore_l3c_0/read_hit/,\ +uncore_l3c_0/inv_request/,\ +uncore_l3c_0/inv_hit/ sleep 1 + + +L3C events: +============ + +read_request: + Number of Read requests received by the L3 Cache. + This include Read as well as Read Exclusives. + +read_hit: + Number of Read requests received by the L3 cache that were hit + in the L3 (Data provided form the L3) + +writeback_request: + Number of Write Backs received by the L3 Cache. These are basically + the L2 Evicts and writes from the PCIe Write Cache. + +inv_nwrite_request: + This is the Number of Invalidate and Write received by the L3 Cache. + Also Writes from IO that did not go through the PCIe Write Cache. + +inv_nwrite_hit + This is the Number of Invalidate and Write received by the L3 Cache + That were a hit in the L3 Cache. + +inv_request: + Number of Invalidate request received by the L3 Cache. + +inv_hit: + Number of Invalidate request received by the L3 Cache that were a + hit in L3. + +evict_request: + Number of Evicts that the L3 generated. + +NOTE: +1. Granularity of all these events counter value is cache line length(64 Bytes). +2. L3C cache Hit Ratio = (read_hit + inv_nwrite_hit + inv_hit) / (read_request + inv_nwrite_request + inv_request) + +DMC events: +============ +cnt_cycles: + Count cycles (Clocks at the DMC clock rate) + +write_txns: + Number of 64 Bytes write transactions received by the DMC(s) + +read_txns: + Number of 64 Bytes Read transactions received by the DMC(s) + +data_transfers: + Number of 64 Bytes data transferred to or from DRAM. -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2018-12-05 10:59 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-12-05 10:59 [PATCH v9 0/2] Add ThunderX2 SoC Performance Monitoring Unit driver Kulkarni, Ganapatrao 2018-12-05 10:59 ` Kulkarni, Ganapatrao 2018-12-05 10:59 ` Kulkarni, Ganapatrao [this message] 2018-12-05 10:59 ` [PATCH v9 1/2] perf, uncore: Adding documentation for ThunderX2 pmu uncore driver Kulkarni, Ganapatrao 2018-12-05 19:44 ` Randy Dunlap 2018-12-05 19:44 ` Randy Dunlap 2018-12-05 10:59 ` [PATCH v9 2/2] ThunderX2, perf : Add Cavium ThunderX2 SoC UNCORE PMU driver Kulkarni, Ganapatrao 2018-12-05 10:59 ` Kulkarni, Ganapatrao 2018-12-06 9:24 ` Suzuki K Poulose 2018-12-06 9:24 ` Suzuki K Poulose 2018-12-06 12:00 ` Ganapatrao Kulkarni 2018-12-06 12:00 ` Ganapatrao Kulkarni
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=20181205105853.15154-2-ganapatrao.kulkarni@cavium.com \ --to=ganapatrao.kulkarni@cavium.com \ --cc=Jan.Glauber@cavium.com \ --cc=Jayachandran.Nair@cavium.com \ --cc=Robert.Richter@cavium.com \ --cc=Vadim.Lomovtsev@cavium.com \ --cc=Will.Deacon@arm.com \ --cc=gklkml16@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=rdunlap@infradead.org \ --cc=suzuki.poulose@arm.com \ /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.