mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-11-09 08:37:58 +08:00
Update Strong APA Scheduler
This change allows for the migration of higher priority tasks on the arrival of a lower priority task limited by affinity constraints. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
This commit is contained in:
1 parent
be96cb4345
commit
6c23252cdd
3 files changed
+961
-266
No files matched your search
@@ -251,22 +251,24 @@
|
||||
#ifdef CONFIGURE_SCHEDULER_STRONG_APA
|
||||
#include <rtems/score/schedulerstrongapa.h>
|
||||
|
||||
#ifndef CONFIGURE_MAXIMUM_PROCESSORS
|
||||
#error "CONFIGURE_MAXIMUM_PROCESSORS must be defined to configure the Strong APA scheduler"
|
||||
#endif
|
||||
|
||||
#define SCHEDULER_STRONG_APA_CONTEXT_NAME( name ) \
|
||||
SCHEDULER_CONTEXT_NAME( strong_APA_ ## name )
|
||||
|
||||
#define RTEMS_SCHEDULER_STRONG_APA( name, prio_count ) \
|
||||
static struct { \
|
||||
Scheduler_strong_APA_Context Base; \
|
||||
Chain_Control Ready[ ( prio_count ) ]; \
|
||||
Scheduler_strong_APA_CPU CPU[ CONFIGURE_MAXIMUM_PROCESSORS ]; \
|
||||
} SCHEDULER_STRONG_APA_CONTEXT_NAME( name )
|
||||
|
||||
#define RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name ) \
|
||||
{ \
|
||||
&SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Base.Base.Base, \
|
||||
SCHEDULER_STRONG_APA_ENTRY_POINTS, \
|
||||
RTEMS_ARRAY_SIZE( \
|
||||
SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Ready \
|
||||
) - 1, \
|
||||
SCHEDULER_STRONG_APA_MAXIMUM_PRIORITY, \
|
||||
( obj_name ) \
|
||||
SCHEDULER_CONTROL_IS_NON_PREEMPT_MODE_SUPPORTED( false ) \
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user