The following table summarizes how the thread scheduler divides time in normal and freetime-by-ratio mode:
| Partition state |
Normal |
Freetime-by-ratio |
| Usage < budget |
By priority |
By priority |
| Usage > budget and there's free time |
By priority |
By ratio of budgets |
| Full load |
By ratio of budgets |
By ratio of budgets |
| Partitions running a critical thread at any load |
By priority |
By priority |
Note: The scheduler's overhead doesn't increase with the number of threads; but, it may increase with the number of partitions, so you should use as few partitions as possible.