From e6b88592a87583f58f55778589899dbfd4624e69 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 31 Jan 2023 19:37:54 +0100 Subject: [PATCH] CLEANUP: config: stop using bind_tgroup and bind_thread Let's now retrieve the first thread group and its mask from the thread_set so that we don't need these fields in the bind_conf anymore. For now we're still limited to the first group (like before) but that allows to get rid of these fields and to make sure that there's nothing "special" being done there anymore. --- src/cfgparse.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/cfgparse.c b/src/cfgparse.c index 759a46973..659f2396a 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -2970,15 +2970,15 @@ init_proxies_list_stage1: /* apply thread masks and groups to all receivers */ list_for_each_entry(li, &bind_conf->listeners, by_bind) { if (bind_conf->settings.shards <= 1) { - li->rx.bind_thread = bind_conf->bind_thread; - li->rx.bind_tgroup = bind_conf->bind_tgroup; + li->rx.bind_thread = thread_set_first_tmask(&bind_conf->thread_set); + li->rx.bind_tgroup = thread_set_first_group(&bind_conf->thread_set); } else { struct listener *new_li; int shard, shards, todo, done, bit; ulong mask; shards = bind_conf->settings.shards; - todo = my_popcountl(bind_conf->bind_thread); + todo = my_popcountl(thread_set_first_tmask(&bind_conf->thread_set)); /* no more shards than total threads */ if (shards > todo) @@ -2991,15 +2991,15 @@ init_proxies_list_stage1: mask = 0; while (done < todo) { /* enlarge mask to cover next bit of bind_thread */ - while (!(bind_conf->bind_thread & (1UL << bit))) + while (!(thread_set_first_tmask(&bind_conf->thread_set) & (1UL << bit))) bit++; mask |= (1UL << bit); bit++; done += shards; } - new_li->rx.bind_thread = bind_conf->bind_thread & mask; - new_li->rx.bind_tgroup = bind_conf->bind_tgroup; + new_li->rx.bind_thread = thread_set_first_tmask(&bind_conf->thread_set) & mask; + new_li->rx.bind_tgroup = thread_set_first_group(&bind_conf->thread_set); done -= todo; shard++; @@ -4451,8 +4451,8 @@ init_proxies_list_stage2: /* apply thread masks and groups to all receivers */ list_for_each_entry(li, &bind_conf->listeners, by_bind) { - li->rx.bind_thread = bind_conf->bind_thread; - li->rx.bind_tgroup = bind_conf->bind_tgroup; + li->rx.bind_thread = thread_set_first_tmask(&bind_conf->thread_set); + li->rx.bind_tgroup = thread_set_first_group(&bind_conf->thread_set); } if (bind_conf->xprt->prepare_bind_conf &&