111 lines
4.0 KiB
Diff
111 lines
4.0 KiB
Diff
From 2e4695bff251032e023098e4ec25ff43d6690faf Mon Sep 17 00:00:00 2001
|
|
From: eho <2220386943@qq.com>
|
|
Date: Sat, 12 Oct 2024 15:47:28 +0800
|
|
Subject: [PATCH 06/20] adapt events
|
|
|
|
---
|
|
pmu/pfm/core.cpp | 40 ++++++++++++++++++++++++++++++++++++++++
|
|
pmu/pmu_event_list.cpp | 2 +-
|
|
util/cpu_map.cpp | 3 ++-
|
|
util/cpu_map.h | 1 +
|
|
4 files changed, 44 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/pmu/pfm/core.cpp b/pmu/pfm/core.cpp
|
|
index 0ab4607..55e5921 100644
|
|
--- a/pmu/pfm/core.cpp
|
|
+++ b/pmu/pfm/core.cpp
|
|
@@ -833,11 +833,51 @@ const std::unordered_map<std::string, KUNPENG_PMU::CoreConfig> HIP_F_CORE_PMU_MA
|
|
SOFTWARE_EVENT::TASK_CLOCK,
|
|
};
|
|
|
|
+const std::unordered_map<std::string, KUNPENG_PMU::CoreConfig> HIP_E_CORE_PMU_MAP{
|
|
+ HARDWARE_EVENT::BRANCH_MISSES,
|
|
+ HARDWARE_EVENT::CACHE_MISSES,
|
|
+ HARDWARE_EVENT::CACHE_REFERENCES,
|
|
+ HARDWARE_EVENT::CPU_CYCLES,
|
|
+ HARDWARE_EVENT::CYCLES,
|
|
+ HARDWARE_EVENT::INSTRUCTIONS,
|
|
+ HARDWARE_EVENT::STALLED_CYCLES_BACKEND,
|
|
+ HARDWARE_EVENT::STALLED_CYCLES_FRONTED,
|
|
+ HARDWARE_EVENT::IDLE_CYCLES_BACKEND,
|
|
+ HARDWARE_EVENT::IDLE_CYCLES_FRONTED,
|
|
+ HW_CACHE_EVENT::L1_DCACHE_LOAD_MISSES,
|
|
+ HW_CACHE_EVENT::L1_DCACHE_LOADS,
|
|
+ HW_CACHE_EVENT::L1_ICACHE_LOAD_MISSES,
|
|
+ HW_CACHE_EVENT::L1_ICACHE_LOADS,
|
|
+ HW_CACHE_EVENT::LLC_LOAD_MISSES,
|
|
+ HW_CACHE_EVENT::LLC_LOADS,
|
|
+ HW_CACHE_EVENT::BRANCH_LOAD_MISSES,
|
|
+ HW_CACHE_EVENT::BRANCH_LOADS,
|
|
+ HW_CACHE_EVENT::DTLB_LOAD_MISSES,
|
|
+ HW_CACHE_EVENT::DTLB_LOADS,
|
|
+ HW_CACHE_EVENT::ITLB_LOAD_MISSES,
|
|
+ HW_CACHE_EVENT::ITLB_LOADS,
|
|
+ SOFTWARE_EVENT::ALIGNMENT_FAULTS,
|
|
+ SOFTWARE_EVENT::BPF_OUTPUT,
|
|
+ SOFTWARE_EVENT::CONTEXT_SWITCHES,
|
|
+ SOFTWARE_EVENT::CS,
|
|
+ SOFTWARE_EVENT::CPU_CLOCK,
|
|
+ SOFTWARE_EVENT::CPU_MIGRATIONS,
|
|
+ SOFTWARE_EVENT::MIGRATIONS,
|
|
+ SOFTWARE_EVENT::DUMMY,
|
|
+ SOFTWARE_EVENT::EMULATION_FAULTS,
|
|
+ SOFTWARE_EVENT::MAJOR_FAULTS,
|
|
+ SOFTWARE_EVENT::MINOR_FAULTS,
|
|
+ SOFTWARE_EVENT::PAGE_FAULTS,
|
|
+ SOFTWARE_EVENT::FAULTS,
|
|
+ SOFTWARE_EVENT::TASK_CLOCK,
|
|
+};
|
|
+
|
|
const KUNPENG_PMU::CORE_EVT_MAP KUNPENG_PMU::CORE_EVENT_MAP = {
|
|
{CHIP_TYPE::HIPA, HIP_A_CORE_PMU_MAP},
|
|
{CHIP_TYPE::HIPB, HIP_B_CORE_PMU_MAP},
|
|
{CHIP_TYPE::HIPC, HIP_C_CORE_PMU_MAP},
|
|
{CHIP_TYPE::HIPF, HIP_F_CORE_PMU_MAP},
|
|
+ {CHIP_TYPE::HIPE, HIP_E_CORE_PMU_MAP},
|
|
};
|
|
|
|
static struct PmuEvt* ConstructPmuEvtFromCore(KUNPENG_PMU::CoreConfig config, int collectType)
|
|
diff --git a/pmu/pmu_event_list.cpp b/pmu/pmu_event_list.cpp
|
|
index c4cf226..b96e500 100644
|
|
--- a/pmu/pmu_event_list.cpp
|
|
+++ b/pmu/pmu_event_list.cpp
|
|
@@ -37,7 +37,7 @@ static const string EVENT_DIR = "/events/";
|
|
|
|
static std::mutex pmuEventListMtx;
|
|
|
|
-static vector<const char*> supportDevPrefixs = {"hisi", "smmuv3"};
|
|
+static vector<const char*> supportDevPrefixs = {"hisi", "smmuv3", "hns3"};
|
|
|
|
static vector<const char*> uncoreEventList;
|
|
static vector<const char*> traceEventList;
|
|
diff --git a/util/cpu_map.cpp b/util/cpu_map.cpp
|
|
index 7ed2cd2..ec8f077 100644
|
|
--- a/util/cpu_map.cpp
|
|
+++ b/util/cpu_map.cpp
|
|
@@ -33,7 +33,8 @@ static CHIP_TYPE g_chipType = CHIP_TYPE::UNDEFINED_TYPE;
|
|
static map<string, CHIP_TYPE> chipMap = {{"0x00000000481fd010", HIPA},
|
|
{"0x00000000480fd020", HIPB},
|
|
{"0x00000000480fd030", HIPC},
|
|
- {"0x00000000480fd220", HIPF}};
|
|
+ {"0x00000000480fd220", HIPF},
|
|
+ {"0x00000000480fd450", HIPE},};
|
|
|
|
static inline bool ReadCpuPackageId(int coreId, CpuTopology* cpuTopo)
|
|
{
|
|
diff --git a/util/cpu_map.h b/util/cpu_map.h
|
|
index de38af5..58c61b8 100644
|
|
--- a/util/cpu_map.h
|
|
+++ b/util/cpu_map.h
|
|
@@ -26,6 +26,7 @@ enum CHIP_TYPE {
|
|
HIPB = 2,
|
|
HIPC = 3,
|
|
HIPF = 4,
|
|
+ HIPE = 5,
|
|
};
|
|
|
|
struct CpuTopology* GetCpuTopology(int coreId);
|
|
--
|
|
2.43.0
|
|
|