mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 22:31:28 +02:00
MINOR: sched: make sched->task_list_size atomic
We'll need to update it from foreign threads in order to throw killed tasks and maintain correct accounting, so let's make it atomic.
This commit is contained in:
parent
364f25a688
commit
d99177f86d
@ -405,7 +405,7 @@ unsigned int run_tasks_from_lists(unsigned int budgets[])
|
|||||||
|
|
||||||
/* OK then this is a regular task */
|
/* OK then this is a regular task */
|
||||||
|
|
||||||
task_per_thread[tid].task_list_size--;
|
_HA_ATOMIC_SUB(&task_per_thread[tid].task_list_size, 1);
|
||||||
if (unlikely(t->call_date)) {
|
if (unlikely(t->call_date)) {
|
||||||
uint64_t now_ns = now_mono_time();
|
uint64_t now_ns = now_mono_time();
|
||||||
|
|
||||||
@ -585,7 +585,7 @@ void process_runnable_tasks()
|
|||||||
/* And add it to the local task list */
|
/* And add it to the local task list */
|
||||||
tasklet_insert_into_tasklet_list(&tt->tasklets[TL_NORMAL], (struct tasklet *)t);
|
tasklet_insert_into_tasklet_list(&tt->tasklets[TL_NORMAL], (struct tasklet *)t);
|
||||||
tt->tl_class_mask |= 1 << TL_NORMAL;
|
tt->tl_class_mask |= 1 << TL_NORMAL;
|
||||||
tt->task_list_size++;
|
_HA_ATOMIC_ADD(&tt->task_list_size, 1);
|
||||||
activity[tid].tasksw++;
|
activity[tid].tasksw++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user