mirror of
https://github.com/haproxy/haproxy.git
synced 2026-02-20 08:20:19 -05:00
MINOR: threads: set the tid, ltid and their bit in thread_cfg
This will be a convenient way to communicate the thread ID and its local ID in the group, as well as their respective bits when creating the threads or when only a pointer is given.
This commit is contained in:
parent
6eee85f887
commit
cc7a11ee3b
2 changed files with 10 additions and 0 deletions
|
|
@ -60,6 +60,8 @@ struct tgroup_info {
|
|||
*/
|
||||
struct thread_info {
|
||||
const struct tgroup_info *tg; /* config of the thread-group this thread belongs to */
|
||||
uint tid, ltid; /* process-wide and group-wide thread ID (start at 0) */
|
||||
ulong tid_bit, ltid_bit; /* bit masks for the tid/ltid */
|
||||
|
||||
/* pad to cache line (64B) */
|
||||
char __pad[0]; /* unused except to check remaining room */
|
||||
|
|
|
|||
|
|
@ -1075,6 +1075,14 @@ int thread_map_to_groups()
|
|||
return -1;
|
||||
}
|
||||
|
||||
for (t = 0; t < global.nbthread; t++) {
|
||||
ha_thread_info[t].tid = t;
|
||||
ha_thread_info[t].ltid = t - ha_thread_info[t].tg->base;
|
||||
|
||||
ha_thread_info[t].tid_bit = 1UL << ha_thread_info[t].tid;
|
||||
ha_thread_info[t].ltid_bit = 1UL << ha_thread_info[t].ltid;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue