The scheduler configuration allows an application to select the scheduling policy to use. The supported configurations are:
- CONFIGURE_SCHEDULER_PRIORITY - Deterministic Priority Scheduler
- CONFIGURE_SCHEDULER_PRIORITY_SMP - Deterministic Priority SMP Scheduler
- CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP - Deterministic Priority SMP Affinity Scheduler
- CONFIGURE_SCHEDULER_STRONG_APA - Strong APA Scheduler
- CONFIGURE_SCHEDULER_SIMPLE - Light-weight Priority Scheduler
- CONFIGURE_SCHEDULER_SIMPLE_SMP - Simple SMP Priority Scheduler
- CONFIGURE_SCHEDULER_EDF - EDF Scheduler
- CONFIGURE_SCHEDULER_EDF_SMP - EDF SMP Scheduler
- CONFIGURE_SCHEDULER_CBS - CBS Scheduler
- CONFIGURE_SCHEDULER_USER - user provided scheduler
If no configuration is specified by the application in a uniprocessor configuration, then CONFIGURE_SCHEDULER_PRIORITY is the default.
If no configuration is specified by the application in SMP configuration, then CONFIGURE_SCHEDULER_PRIORITY_SMP is the default.
An application can define its own scheduling policy by defining CONFIGURE_SCHEDULER_USER and the following:
- CONFIGURE_SCHEDULER
- CONFIGURE_SCHEDULER_TABLE_ENTRIES
- CONFIGURE_SCHEDULER_USER_PER_THREAD