mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-24 04:11:02 +01:00
MINOR: task: do not use __task_unlink_rq() from process_runnable_tasks()
As indicated in previous commit, this function tries to guess which tree the task is in to figure what counters to update, while we already have that info in the caller. Let's just pick the relevant parts to place them in the caller.
This commit is contained in:
parent
e7923c1d22
commit
2b363ac092
10
src/task.c
10
src/task.c
@ -701,14 +701,18 @@ void process_runnable_tasks()
|
||||
if (likely(!grq || (lrq && (int)(lrq->key - grq->key) <= 0))) {
|
||||
t = eb32sc_entry(lrq, struct task, rq);
|
||||
lrq = eb32sc_next(lrq, tid_bit);
|
||||
__task_unlink_rq(t);
|
||||
_HA_ATOMIC_SUB(&sched->rq_total, 1);
|
||||
eb32sc_delete(&t->rq);
|
||||
lpicked++;
|
||||
}
|
||||
#ifdef USE_THREAD
|
||||
else {
|
||||
t = eb32sc_entry(grq, struct task, rq);
|
||||
grq = eb32sc_next(grq, tid_bit);
|
||||
__task_unlink_rq(t);
|
||||
grq_total--;
|
||||
_HA_ATOMIC_AND(&t->state, ~TASK_GLOBAL);
|
||||
eb32sc_delete(&t->rq);
|
||||
|
||||
if (unlikely(!grq)) {
|
||||
grq = eb32sc_first(&rqueue, tid_bit);
|
||||
if (!grq) {
|
||||
@ -719,6 +723,8 @@ void process_runnable_tasks()
|
||||
gpicked++;
|
||||
}
|
||||
#endif
|
||||
if (t->nice)
|
||||
_HA_ATOMIC_SUB(&niced_tasks, 1);
|
||||
|
||||
/* Add it to the local task list */
|
||||
LIST_ADDQ(&tt->tasklets[TL_NORMAL], &((struct tasklet *)t)->list);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user