diff --git a/include/haproxy/task.h b/include/haproxy/task.h index 24be2b6ed..41885c2fc 100644 --- a/include/haproxy/task.h +++ b/include/haproxy/task.h @@ -101,7 +101,6 @@ extern THREAD_LOCAL struct task_per_thread *sched; /* current's thread scheduler #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 @@ static inline struct task *__task_unlink_rq(struct task *t) { _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 3336ebc70..325fd2e86 100644 --- a/src/task.c +++ b/src/task.c @@ -50,7 +50,6 @@ __decl_aligned_rwlock(wq_lock); /* RW lock related to the wait queue */ #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 @@ void __task_wakeup(struct task *t, struct eb_root *root) 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