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:
Willy Tarreau 2020-06-23 16:35:38 +02:00
parent 0c0c85ed9d
commit 116ef223d2
2 changed files with 4 additions and 0 deletions

View File

@ -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];
};

View File

@ -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;
}