mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-19 01:54:37 +00:00
MINOR: task: add a new pointer to current tasklet queue
In task_per_thread[] we now have current_queue which is a pointer to the current tasklet_list entry being evaluated. This will be used to know the class under which the current task/tasklet is currently running.
This commit is contained in:
parent
0c0c85ed9d
commit
116ef223d2
@ -77,6 +77,7 @@ struct task_per_thread {
|
||||
int task_list_size; /* Number of tasks among the tasklets */
|
||||
int rqueue_size; /* Number of elements in the per-thread run queue */
|
||||
struct task *current; /* current task (not tasklet) */
|
||||
struct list *current_queue; /* points to current tasklet list being run */
|
||||
__attribute__((aligned(64))) char end[0];
|
||||
};
|
||||
|
||||
|
@ -330,6 +330,7 @@ int run_tasks_from_list(struct list *list, int max)
|
||||
void *ctx;
|
||||
int done = 0;
|
||||
|
||||
sched->current_queue = list;
|
||||
while (done < max && !LIST_ISEMPTY(list)) {
|
||||
t = (struct task *)LIST_ELEM(list->n, struct tasklet *, list);
|
||||
state = (t->state & (TASK_SHARED_WQ|TASK_SELF_WAKING));
|
||||
@ -400,6 +401,8 @@ int run_tasks_from_list(struct list *list, int max)
|
||||
}
|
||||
done++;
|
||||
}
|
||||
|
||||
sched->current_queue = NULL;
|
||||
return done;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user