From: Willy Tarreau Date: Wed, 8 Jan 2025 16:55:10 +0000 (+0100) Subject: MINOR: cpu-topo: also store the sibling ID with SMT X-Git-Tag: v3.2-dev8~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65612369e71726aa6bc7afdc48774bf170fb709f;p=thirdparty%2Fhaproxy.git MINOR: cpu-topo: also store the sibling ID with SMT The sibling ID was not reported because it's not directly accessible but we don't care, what matters is that we assign numbers to all the threads we find using the same CPU so that some strategies permit to allocate one thread at a time if we want to use few threads with max performance. --- diff --git a/src/cpu_topo.c b/src/cpu_topo.c index 9166c1195..b1a131021 100644 --- a/src/cpu_topo.c +++ b/src/cpu_topo.c @@ -298,11 +298,14 @@ int cpu_detect_topology(void) parse_cpu_set_args[0] = trash.area; parse_cpu_set_args[1] = "\0"; if (parse_cpu_set(parse_cpu_set_args, &cpus_list, NULL) == 0) { + int sib_id = 0; + cpu_id.th_cnt = ha_cpuset_count(&cpus_list); for (cpu2 = 0; cpu2 <= cpu_topo_lastcpu; cpu2++) { if (ha_cpuset_isset(&cpus_list, cpu2)) { ha_cpu_topo[cpu2].ts_id = cpu_id.ts_id; ha_cpu_topo[cpu2].th_cnt = cpu_id.th_cnt; + ha_cpu_topo[cpu2].th_id = sib_id++; } } cpu_id.ts_id++;