richard_damon wrote on Friday, January 06, 2012:
FreeRTOS uses strict priorities, so the numerical value doesn’t really matter, just which task has the highest value. FreeRTOS will always be running the highest priority task that is ready to run. If there are multiple tasks at a given priority, then they will be cycled through every timer tick. If a higher priority task never blocks on something, lower priority tasks will NOT get any time (as opposed to a soft priority system which might give some time to a lower priority task)
There is one small effect in your case, having empty priority levels does have some cost, one in memory to create the ready queue for the empty priority level, and a time cost to find the highest available task, as the scheduler will need to check each of the unused priority levels to see that there is no ready task at that level.