Delayed task lists

Hi, Can you please tell me what is the difference between overflow delayed task list and delayed task list ? Thank you Michael

Delayed task lists

I beleive the overflow delayed task list is the list of tasks that are delayed, but their reactivation time is after the tick count next overflows, while the delayed task list are tasks that their reactivation time is befor the tick count overflows. As the tick counter increments, tasks on the delayed task list whose activation time is now less than or equal to the current tick counter are reactivated, and when the tick counter overflows, the delayed task will now be empty, and the lists will be swapped so tasks that were on the overflow list will now be checked as the tick increments.

Delayed task lists

Thank you Richard. if the new item is over flow so it will be insert in the overflow delayed list ? else it will be insert in the delay list ? when and why there is a swapping between the two lists ?

Delayed task lists

if the new item is over flow so it will be insert in the overflow delayed list ?
Yes.
else it will be insert in the delay list ?
Yes.
when and why there is a swapping between the two lists ?
When the actual tick count overflows. All the source code is there for you to read.

Delayed task lists

Thank you Richard

Delayed task lists

Thank you Richard

Delayed task lists

When the scheduler is running (xTaskIncrementTick( void )) it checks only the delay list (and not checking the overflow delay list). Can the scheduler miss tasks in the overflow list that need to pass to ready list ?

Delayed task lists

Tasks on the overflow list can’t have their time exprire until the tick counter overflows (that is why they are there), at which point (after clearing the delay list) the lists are swapped.

Delayed task lists

Ok. Thanks Richard