From e85ee7b66326d146931ffbb99700bef2de411a36 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Thu, 26 Jul 2018 14:57:49 +0200 Subject: [PATCH] BUG/MEDIUM: tasks: Decrement rqueue_size at the right time. We need to decrement requeue_size when we remove a task form rqueue_local, not when we remove if from the task list, or we'd also decrement it for any tasklet, that was never in the rqueue in the first place. --- src/task.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/task.c b/src/task.c index 86833cf..edb528a 100644 --- a/src/task.c +++ b/src/task.c @@ -333,6 +333,7 @@ void process_runnable_tasks() /* detach the task from the queue */ __task_unlink_rq(t); + rqueue_size[tid]--; /* And add it to the local task list */ task_insert_into_tasklet_list(t); } @@ -349,7 +350,6 @@ void process_runnable_tasks() ctx = t->context; process = t->process; - rqueue_size[tid]--; t->calls++; curr_task = (struct task *)t; if (likely(process == process_stream)) -- 1.7.10.4