From 55df725e382f1abc3084de078a3b82bacaca558c Mon Sep 17 00:00:00 2001 From: Dr-Noob Date: Sat, 31 Jul 2021 23:24:12 +0200 Subject: [PATCH] [v0.98][PPC] Forgot to use cache level in get_num_caches_by_level --- src/common/udev.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/common/udev.c b/src/common/udev.c index a1c4c64..e670b65 100644 --- a/src/common/udev.c +++ b/src/common/udev.c @@ -177,9 +177,20 @@ int get_num_caches_from_files(char** paths, int num_paths) { int get_num_caches_by_level(struct cpuInfo* cpu, uint32_t level) { char** paths = malloc(sizeof(char *) * cpu->topo->total_cores); + char* cache_path = NULL; + + if(level == 0) cache_path = _PATH_CACHE_L1I; + else if(level == 1) cache_path = _PATH_CACHE_L1D; + else if(level == 2) cache_path = _PATH_CACHE_L2; + else if(level == 3) cache_path = _PATH_CACHE_L3; + else { + printBug("Found invalid cache level to inspect: %d\n", level); + return -1; + } + for(int i=0; i < cpu->topo->total_cores; i++) { paths[i] = malloc(sizeof(char) * _PATH_CACHE_MAX_LEN); - sprintf(paths[i], "%s%s/cpu%d%s%s", _PATH_SYS_SYSTEM, _PATH_SYS_CPU, i, _PATH_CACHE_L3, _PATH_CACHE_SHARED_MAP); + sprintf(paths[i], "%s%s/cpu%d%s%s", _PATH_SYS_SYSTEM, _PATH_SYS_CPU, i, cache_path, _PATH_CACHE_SHARED_MAP); } int ret = get_num_caches_from_files(paths, cpu->topo->total_cores);