From: Willy Tarreau Date: Tue, 28 Jun 2022 15:48:07 +0000 (+0200) Subject: MINOR: tinfo: replace the tgid with tgid_bit in tgroup_info X-Git-Tag: v2.7-dev2~129 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=60fe4a95a2ebcd3048940a0689f80656ec247764;p=thirdparty%2Fhaproxy.git 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. --- 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) {