From 24f382f55520dd509f23401a36555dbbdcfbde4e Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 12 Apr 2019 16:10:55 +0200 Subject: [PATCH] CLEANUP: task: do not export rq_next anymore This one hasn't been used anymore since the scheduler changes after 1.8 but it kept being exported and maintained up to date while it's always reset when scanning the trees. Let's stop exporting it and updating it. --- include/proto/task.h | 6 +----- src/task.c | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/include/proto/task.h b/include/proto/task.h index 1f4b52e97..fdf4d6a64 100644 --- a/include/proto/task.h +++ b/include/proto/task.h @@ -92,7 +92,6 @@ extern struct pool_head *pool_head_task; extern struct pool_head *pool_head_tasklet; extern struct pool_head *pool_head_notification; extern THREAD_LOCAL struct task *curr_task; /* task currently running or NULL */ -extern THREAD_LOCAL struct eb32sc_node *rq_next; /* Next task to be potentially run */ #ifdef USE_THREAD extern struct eb_root timers; /* sorted timers tree, global */ extern struct eb_root rqueue; /* tree constituting the run queue */ @@ -229,11 +228,8 @@ static inline struct task *task_unlink_rq(struct task *t) if (is_global) HA_SPIN_LOCK(TASK_RQ_LOCK, &rq_lock); - if (likely(task_in_rq(t))) { - if (&t->rq == rq_next) - rq_next = eb32sc_next(rq_next, tid_bit); + if (likely(task_in_rq(t))) __task_unlink_rq(t); - } if (is_global) HA_SPIN_UNLOCK(TASK_RQ_LOCK, &rq_lock); return t; diff --git a/src/task.c b/src/task.c index 9dddd89f7..aa980485b 100644 --- a/src/task.c +++ b/src/task.c @@ -42,7 +42,6 @@ unsigned int nb_tasks_cur = 0; /* copy of the tasks count */ unsigned int niced_tasks = 0; /* number of niced tasks in the run queue */ THREAD_LOCAL struct task *curr_task = NULL; /* task currently running or NULL */ -THREAD_LOCAL struct eb32sc_node *rq_next = NULL; /* Next task to be potentially run */ __decl_aligned_spinlock(rq_lock); /* spin lock related to run queue */ __decl_aligned_spinlock(wq_lock); /* spin lock related to wait queue */ @@ -317,6 +316,7 @@ int wake_expired_tasks() */ void process_runnable_tasks() { + struct eb32sc_node *rq_next; struct task *t; int max_processed;