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.
diff --git a/include/proto/task.h b/include/proto/task.h
index eef4ded..5445c99 100644
--- a/include/proto/task.h
+++ b/include/proto/task.h
@@ -347,6 +347,8 @@
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);