From 9a09abd78c4d9dd2d005ae63d6cb690883e7b0eb Mon Sep 17 00:00:00 2001 From: twwang <920347125@qq.com> Date: Wed, 28 May 2025 15:01:46 +0800 Subject: [PATCH] =?UTF-8?q?PMU=5FL3=5FLAT=E7=9A=84=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8ns=E4=BB=A3=E6=9B=BFcycles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/Details_Usage.md | 14 +++++++------- include/pmu.h | 2 +- pmu/pmu_metric.cpp | 16 +++++++++++++++- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/docs/Details_Usage.md b/docs/Details_Usage.md index 289c03c..143ea8a 100644 --- a/docs/Details_Usage.md +++ b/docs/Details_Usage.md @@ -710,7 +710,7 @@ auto len = PmuGetDevMetric(oriData, oriLen, devAttr, 1, &devData); // devData的长度等于cluster个数 for (int i=0;i L3_CLOCK_NS {{CHIP_TYPE::HIPB, 0.3448275862}}; + const UNCORE_METRIC_MAP UNCORE_METRIC_CONFIG_MAP = { {CHIP_TYPE::HIPA, HIP_A_UNCORE_METRIC_MAP}, {CHIP_TYPE::HIPB, HIP_B_UNCORE_METRIC_MAP}, @@ -931,6 +933,17 @@ namespace KUNPENG_PMU { return 64 * rawCount; } + static uint64_t L3Lat(const uint64_t rawCount) + { + const CHIP_TYPE chipType = GetCpuType(); + auto iter = L3_CLOCK_NS.find(chipType); + uint64_t count = rawCount; + if (iter != L3_CLOCK_NS.end()) { + count = rawCount * iter->second; + } + return count; + } + static PmuMetricMode GetMetricMode(const PmuDeviceMetric &metric) { switch(metric) { @@ -1144,7 +1157,8 @@ namespace KUNPENG_PMU { map computeMetricMap = {{PMU_DDR_READ_BW, DDRBw}, {PMU_DDR_WRITE_BW, DDRBw}, - {PMU_L3_TRAFFIC, L3Bw}}; + {PMU_L3_TRAFFIC, L3Bw}, + {PMU_L3_LAT, L3Lat}}; map aggregateMap = { {PMU_DDR_READ_BW, AggregateByNuma}, {PMU_DDR_WRITE_BW, AggregateByNuma}, -- Gitee