From 931624a00b44f3a885cc3ec443b87dce22132334 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Wed, 12 Sep 2018 14:55:03 +0200 Subject: [PATCH] BUG/MEDIUM: tasks: Don't forget to decrement task_list_size in tasklet_free(). In tasklet_free(), if we're currently in the runnable task list, don't forget to decrement taks_list_size, or it'll end up being to big, and we may not process tasks in the global runqueue. --- include/proto/task.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/proto/task.h b/include/proto/task.h index eef4ded43..5445c9906 100644 --- a/include/proto/task.h +++ b/include/proto/task.h @@ -347,6 +347,8 @@ static inline void task_free(struct task *t) static inline void tasklet_free(struct tasklet *tl) { + if (!LIST_ISEMPTY(&tl->list)) + task_list_size[tid]--; LIST_DEL(&tl->list); pool_free(pool_head_tasklet, tl);