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 HIP_F_CORE_PMU_MA SOFTWARE_EVENT::TASK_CLOCK, }; +const std::unordered_map 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 supportDevPrefixs = {"hisi", "smmuv3"}; +static vector supportDevPrefixs = {"hisi", "smmuv3", "hns3"}; static vector uncoreEventList; static vector 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 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