MINOR: task: place the heavy elements in TL_HEAVY

Instead of placing heavy tasklets into the TL_BULK queue, we now place
them into the TL_HEAVY one, which is assigned a default weight of ~1%
load at once. This way heavy tasks will not block TL_BULK anymore.
This commit is contained in:
Willy Tarreau 2021-02-26 10:13:40 +01:00
parent 401135cee6
commit 826fa87246

View File

@ -114,7 +114,11 @@ void __tasklet_wakeup_on(struct tasklet *tl, int thr)
{
if (likely(thr < 0)) {
/* this tasklet runs on the caller thread */
if (tl->state & (TASK_SELF_WAKING|TASK_HEAVY)) {
if (tl->state & TASK_HEAVY) {
LIST_ADDQ(&sched->tasklets[TL_HEAVY], &tl->list);
sched->tl_class_mask |= 1 << TL_HEAVY;
}
else if (tl->state & TASK_SELF_WAKING) {
LIST_ADDQ(&sched->tasklets[TL_BULK], &tl->list);
sched->tl_class_mask |= 1 << TL_BULK;
}