Lines Matching refs:tp

34 static int build_cpu_topology(struct cpu_topology *tp, int cpu)  in build_cpu_topology()  argument
63 for (i = 0; i < tp->package_cpus_lists; i++) { in build_cpu_topology()
64 if (!strcmp(buf, tp->package_cpus_list[i])) in build_cpu_topology()
67 if (i == tp->package_cpus_lists) { in build_cpu_topology()
68 tp->package_cpus_list[i] = buf; in build_cpu_topology()
69 tp->package_cpus_lists++; in build_cpu_topology()
76 if (!tp->die_cpus_list) in build_cpu_topology()
94 for (i = 0; i < tp->die_cpus_lists; i++) { in build_cpu_topology()
95 if (!strcmp(buf, tp->die_cpus_list[i])) in build_cpu_topology()
98 if (i == tp->die_cpus_lists) { in build_cpu_topology()
99 tp->die_cpus_list[i] = buf; in build_cpu_topology()
100 tp->die_cpus_lists++; in build_cpu_topology()
124 for (i = 0; i < tp->core_cpus_lists; i++) { in build_cpu_topology()
125 if (!strcmp(buf, tp->core_cpus_list[i])) in build_cpu_topology()
128 if (i == tp->core_cpus_lists) { in build_cpu_topology()
129 tp->core_cpus_list[i] = buf; in build_cpu_topology()
130 tp->core_cpus_lists++; in build_cpu_topology()
141 void cpu_topology__delete(struct cpu_topology *tp) in cpu_topology__delete() argument
145 if (!tp) in cpu_topology__delete()
148 for (i = 0 ; i < tp->package_cpus_lists; i++) in cpu_topology__delete()
149 zfree(&tp->package_cpus_list[i]); in cpu_topology__delete()
151 for (i = 0 ; i < tp->die_cpus_lists; i++) in cpu_topology__delete()
152 zfree(&tp->die_cpus_list[i]); in cpu_topology__delete()
154 for (i = 0 ; i < tp->core_cpus_lists; i++) in cpu_topology__delete()
155 zfree(&tp->core_cpus_list[i]); in cpu_topology__delete()
157 free(tp); in cpu_topology__delete()
181 struct cpu_topology *tp = NULL; in cpu_topology__new() local
206 addr = calloc(1, sizeof(*tp) + nr_addr * sz); in cpu_topology__new()
210 tp = addr; in cpu_topology__new()
211 addr += sizeof(*tp); in cpu_topology__new()
212 tp->package_cpus_list = addr; in cpu_topology__new()
215 tp->die_cpus_list = addr; in cpu_topology__new()
218 tp->core_cpus_list = addr; in cpu_topology__new()
224 ret = build_cpu_topology(tp, i); in cpu_topology__new()
232 cpu_topology__delete(tp); in cpu_topology__new()
233 tp = NULL; in cpu_topology__new()
235 return tp; in cpu_topology__new()
301 struct numa_topology *tp = NULL; in numa_topology__new() local
329 tp = zalloc(sizeof(*tp) + sizeof(tp->nodes[0])*nr); in numa_topology__new()
330 if (!tp) in numa_topology__new()
333 tp->nr = nr; in numa_topology__new()
336 if (load_numa_node(&tp->nodes[i], node_map->map[i])) { in numa_topology__new()
337 numa_topology__delete(tp); in numa_topology__new()
338 tp = NULL; in numa_topology__new()
347 return tp; in numa_topology__new()
350 void numa_topology__delete(struct numa_topology *tp) in numa_topology__delete() argument
354 for (i = 0; i < tp->nr; i++) in numa_topology__delete()
355 zfree(&tp->nodes[i].cpus); in numa_topology__delete()
357 free(tp); in numa_topology__delete()
404 struct hybrid_topology *tp = NULL; in hybrid_topology__new() local
411 tp = zalloc(sizeof(*tp) + sizeof(tp->nodes[0]) * nr); in hybrid_topology__new()
412 if (!tp) in hybrid_topology__new()
415 tp->nr = nr; in hybrid_topology__new()
417 if (load_hybrid_node(&tp->nodes[i], pmu)) { in hybrid_topology__new()
418 hybrid_topology__delete(tp); in hybrid_topology__new()
424 return tp; in hybrid_topology__new()
427 void hybrid_topology__delete(struct hybrid_topology *tp) in hybrid_topology__delete() argument
431 for (i = 0; i < tp->nr; i++) { in hybrid_topology__delete()
432 zfree(&tp->nodes[i].pmu_name); in hybrid_topology__delete()
433 zfree(&tp->nodes[i].cpus); in hybrid_topology__delete()
436 free(tp); in hybrid_topology__delete()