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:
Richi Dubey authored and Sebastian Huber committed 2021-06-24 14:16:21 +02:00
1 parent be96cb4345
commit 6c23252cdd
3 files changed
+961 -266

No files matched your search

+6 -4
View File
@@ -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