From 60fe4a95a2ebcd3048940a0689f80656ec247764 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 28 Jun 2022 17:48:07 +0200 Subject: [PATCH] MINOR: tinfo: replace the tgid with tgid_bit in tgroup_info Now that the tgid is accessible from the thread, it's pointless to have it in the group, and it was only set but never used. However we'll soon frequently need the mask corresponding to the group ID and the risk of getting it wrong with the +1 or to shift 1 instead of 1UL is important, so let's store the tgid_bit there. --- include/haproxy/tinfo-t.h | 2 +- src/thread.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/haproxy/tinfo-t.h b/include/haproxy/tinfo-t.h index bbba5a1dbc..5f0d794260 100644 --- a/include/haproxy/tinfo-t.h +++ b/include/haproxy/tinfo-t.h @@ -54,7 +54,7 @@ enum { struct tgroup_info { uint base; /* first thread in this group */ uint count; /* number of threads in this group */ - uint tgid; /* group ID (starts at 1, 0=unspecified) */ + ulong tgid_bit; /* bit corresponding to the tgroup ID */ /* pad to cache line (64B) */ char __pad[0]; /* unused except to check remaining room */ diff --git a/src/thread.c b/src/thread.c index c5f06038f3..dedde13b4c 100644 --- a/src/thread.c +++ b/src/thread.c @@ -1019,7 +1019,7 @@ int thread_map_to_groups() for (g = 0; g < global.nbtgroups; g++) { if (!ha_tgroup_info[g].count) ug++; - ha_tgroup_info[g].tgid = g + 1; + ha_tgroup_info[g].tgid_bit = 1UL << g; } if (ug > ut) { -- 2.47.3