Each thread has its own local thread id and its own global thread id,
in addition to the masks corresponding to each. Once the global thread
ID can go beyond 64 it will not be possible to have a global thread Id
bit anymore, so better start to remove it and use only the local one
from the struct thread_info.
static inline void ha_set_thread(const struct thread_info *thr)
{
if (thr) {
- BUG_ON(!thr->tid_bit);
+ BUG_ON(!thr->ltid_bit);
BUG_ON(!thr->tg);
BUG_ON(!thr->tg->tgid);
ti = thr;
tg = thr->tg;
tid = thr->tid;
- tid_bit = thr->tid_bit;
+ tid_bit = thr->ltid_bit;
th_ctx = &ha_thread_ctx[tid];
tgid = tg->tgid;
} else {
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 */
+ ulong ltid_bit; /* bit masks for the tid/ltid */
/* pad to cache line (64B) */
char __pad[0]; /* unused except to check remaining room */
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;
}