CLEANUP: task: remove the unused and mishandled global_rqueue_size
This counter is only updated and never used, and in addition it's done
without any atomicity so it's very unlikely to be correct on multi-CPU
systems! Let's just remove it since it's not used.
diff --git a/include/haproxy/task.h b/include/haproxy/task.h
index 24be2b6..41885c2 100644
--- a/include/haproxy/task.h
+++ b/include/haproxy/task.h
@@ -101,7 +101,6 @@
#ifdef USE_THREAD
extern struct eb_root timers; /* sorted timers tree, global */
extern struct eb_root rqueue; /* tree constituting the run queue */
-extern int global_rqueue_size; /* Number of element sin the global runqueue */
#endif
extern struct task_per_thread task_per_thread[MAX_THREADS];
@@ -295,10 +294,9 @@
{
_HA_ATOMIC_SUB(&tasks_run_queue, 1);
#ifdef USE_THREAD
- if (t->state & TASK_GLOBAL) {
+ if (t->state & TASK_GLOBAL)
_HA_ATOMIC_AND(&t->state, ~TASK_GLOBAL);
- global_rqueue_size--;
- } else
+ else
#endif
sched->rqueue_size--;
eb32sc_delete(&t->rq);
diff --git a/src/task.c b/src/task.c
index 3336ebc..325fd2e 100644
--- a/src/task.c
+++ b/src/task.c
@@ -50,7 +50,6 @@
#ifdef USE_THREAD
struct eb_root timers; /* sorted timers tree, global */
struct eb_root rqueue; /* tree constituting the run queue */
-int global_rqueue_size; /* Number of element sin the global runqueue */
#endif
static unsigned int rqueue_ticks; /* insertion count */
@@ -150,7 +149,6 @@
eb32sc_insert(root, &t->rq, t->thread_mask);
#ifdef USE_THREAD
if (root == &rqueue) {
- global_rqueue_size++;
_HA_ATOMIC_OR(&t->state, TASK_GLOBAL);
HA_SPIN_UNLOCK(TASK_RQ_LOCK, &rq_lock);
} else