aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/env.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/env.c')
-rw-r--r--tools/perf/util/env.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c
index 7dd5939dea2e..49a11d9d8b8f 100644
--- a/tools/perf/util/env.c
+++ b/tools/perf/util/env.c
@@ -6,6 +6,8 @@ struct perf_env perf_env;
6 6
7void perf_env__exit(struct perf_env *env) 7void perf_env__exit(struct perf_env *env)
8{ 8{
9 int i;
10
9 zfree(&env->hostname); 11 zfree(&env->hostname);
10 zfree(&env->os_release); 12 zfree(&env->os_release);
11 zfree(&env->version); 13 zfree(&env->version);
@@ -19,6 +21,10 @@ void perf_env__exit(struct perf_env *env)
19 zfree(&env->numa_nodes); 21 zfree(&env->numa_nodes);
20 zfree(&env->pmu_mappings); 22 zfree(&env->pmu_mappings);
21 zfree(&env->cpu); 23 zfree(&env->cpu);
24
25 for (i = 0; i < env->caches_cnt; i++)
26 cpu_cache_level__free(&env->caches[i]);
27 zfree(&env->caches);
22} 28}
23 29
24int perf_env__set_cmdline(struct perf_env *env, int argc, const char *argv[]) 30int perf_env__set_cmdline(struct perf_env *env, int argc, const char *argv[])
@@ -75,3 +81,10 @@ int perf_env__read_cpu_topology_map(struct perf_env *env)
75 env->nr_cpus_avail = nr_cpus; 81 env->nr_cpus_avail = nr_cpus;
76 return 0; 82 return 0;
77} 83}
84
85void cpu_cache_level__free(struct cpu_cache_level *cache)
86{
87 free(cache->type);
88 free(cache->map);
89 free(cache->size);
90}