Having this information will help us improve thread-level distribution
of incoming traffic.
const struct netns_entry *netns; /* network namespace of the listener*/
+ /* cache line boundary */
+ unsigned int thr_conn[MAX_THREADS]; /* number of connections per thread */
+
/* cache line boundary */
struct list by_fe; /* chaining in frontend's list of listeners */
struct list by_bind; /* chaining in bind_conf's list of listeners */
*/
next_conn = 0;
+ HA_ATOMIC_ADD(&l->thr_conn[tid], 1);
ret = l->accept(l, cfd, &addr);
if (unlikely(ret <= 0)) {
/* The connection was closed by stream_accept(). Either
if (!(l->options & LI_O_UNLIMITED))
HA_ATOMIC_SUB(&actconn, 1);
HA_ATOMIC_SUB(&l->nbconn, 1);
+ HA_ATOMIC_SUB(&l->thr_conn[tid], 1);
if (l->state == LI_FULL)
resume_listener(l);