[rtems commit] config: Simplify clustered scheduler configuration
Sebastian Huber
sebh at rtems.org
Mon Mar 12 06:02:40 UTC 2018
Module: rtems
Branch: master
Commit: 2ef85b1c76daef1ffc15dde9ef75012022fdaef3
Changeset: http://git.rtems.org/rtems/commit/?id=2ef85b1c76daef1ffc15dde9ef75012022fdaef3
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Thu Mar 8 06:20:10 2018 +0100
config: Simplify clustered scheduler configuration
Do not use names derived from scheduler implementation details. Instead
use names derived from the scheduler configuration or documentation.
Provide defines for backward compatibility.
Update #3325.
---
cpukit/include/rtems/confdefs.h | 151 +++++++++++++++++++++------------------
cpukit/include/rtems/scheduler.h | 108 +++++++++++++++++++++++-----
2 files changed, 173 insertions(+), 86 deletions(-)
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 04b9708..bbcfb61 100755
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -709,11 +709,26 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
* An application can define its own scheduling policy by defining
* CONFIGURE_SCHEDULER_USER and the following:
*
- * - CONFIGURE_SCHEDULER_CONTEXT
- * - CONFIGURE_SCHEDULER_CONTROLS
+ * - CONFIGURE_SCHEDULER
+ * - CONFIGURE_SCHEDULER_TABLE_ENTRIES
* - CONFIGURE_SCHEDULER_USER_PER_THREAD
*/
+#ifdef CONFIGURE_SCHEDULER_CONTEXT
+ #warning "CONFIGURE_SCHEDULER_CONTEXT has been renamed to CONFIGURE_SCHEDULER since RTEMS 5.1"
+ #define CONFIGURE_SCHEDULER CONFIGURE_SCHEDULER_CONTEXT
+#endif
+
+#ifdef CONFIGURE_SCHEDULER_CONTROLS
+ #warning "CONFIGURE_SCHEDULER_CONTROLS has been renamed to CONFIGURE_SCHEDULER_TABLE_ENTRIES since RTEMS 5.1"
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES CONFIGURE_SCHEDULER_CONTROLS
+#endif
+
+#ifdef CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS
+ #warning "CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS has been renamed to CONFIGURE_SCHEDULER_ASSIGNMENTS since RTEMS 5.1"
+ #define CONFIGURE_SCHEDULER_ASSIGNMENTS CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS
+#endif
+
#if !defined(CONFIGURE_SCHEDULER_USER) && \
!defined(CONFIGURE_SCHEDULER_PRIORITY) && \
!defined(CONFIGURE_SCHEDULER_PRIORITY_SMP) && \
@@ -750,16 +765,16 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define CONFIGURE_SCHEDULER_NAME rtems_build_name('U', 'P', 'D', ' ')
#endif
- #if !defined(CONFIGURE_SCHEDULER_CONTROLS)
+ #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES)
/** Configure the context needed by the scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTEXT \
+ #define CONFIGURE_SCHEDULER \
RTEMS_SCHEDULER_CONTEXT_PRIORITY( \
dflt, \
CONFIGURE_MAXIMUM_PRIORITY + 1 \
)
/** Configure the controls for this scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTROLS \
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_CONTROL_PRIORITY(dflt, CONFIGURE_SCHEDULER_NAME)
#endif
#endif
@@ -774,16 +789,16 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'P', 'D', ' ')
#endif
- #if !defined(CONFIGURE_SCHEDULER_CONTROLS)
+ #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES)
/** Configure the context needed by the scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTEXT \
+ #define CONFIGURE_SCHEDULER \
RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP( \
dflt, \
CONFIGURE_MAXIMUM_PRIORITY + 1 \
)
/** Configure the controls for this scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTROLS \
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_CONTROL_PRIORITY_SMP(dflt, CONFIGURE_SCHEDULER_NAME)
#endif
#endif
@@ -798,16 +813,16 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'P', 'A', ' ')
#endif
- #if !defined(CONFIGURE_SCHEDULER_CONTROLS)
+ #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES)
/** Configure the context needed by the scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTEXT \
+ #define CONFIGURE_SCHEDULER \
RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP( \
dflt, \
CONFIGURE_MAXIMUM_PRIORITY + 1 \
)
/** Configure the controls for this scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTROLS \
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_CONTROL_PRIORITY_AFFINITY_SMP( \
dflt, \
CONFIGURE_SCHEDULER_NAME \
@@ -825,16 +840,16 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'A', 'P', 'A')
#endif
- #if !defined(CONFIGURE_SCHEDULER_CONTROLS)
+ #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES)
/** Configure the context needed by the scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTEXT \
+ #define CONFIGURE_SCHEDULER \
RTEMS_SCHEDULER_CONTEXT_STRONG_APA( \
dflt, \
CONFIGURE_MAXIMUM_PRIORITY + 1 \
)
/** Configure the controls for this scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTROLS \
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_CONTROL_STRONG_APA(dflt, CONFIGURE_SCHEDULER_NAME)
#endif
#endif
@@ -848,12 +863,12 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define CONFIGURE_SCHEDULER_NAME rtems_build_name('U', 'P', 'S', ' ')
#endif
- #if !defined(CONFIGURE_SCHEDULER_CONTROLS)
+ #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES)
/** Configure the context needed by the scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTEXT RTEMS_SCHEDULER_CONTEXT_SIMPLE(dflt)
+ #define CONFIGURE_SCHEDULER RTEMS_SCHEDULER_CONTEXT_SIMPLE(dflt)
/** Configure the controls for this scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTROLS \
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_CONTROL_SIMPLE(dflt, CONFIGURE_SCHEDULER_NAME)
#endif
#endif
@@ -867,13 +882,13 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'P', 'S', ' ')
#endif
- #if !defined(CONFIGURE_SCHEDULER_CONTROLS)
+ #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES)
/** Configure the context needed by the scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTEXT \
+ #define CONFIGURE_SCHEDULER \
RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP(dflt)
/** Configure the controls for this scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTROLS \
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_CONTROL_SIMPLE_SMP(dflt, CONFIGURE_SCHEDULER_NAME)
#endif
#endif
@@ -887,12 +902,12 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define CONFIGURE_SCHEDULER_NAME rtems_build_name('U', 'E', 'D', 'F')
#endif
- #if !defined(CONFIGURE_SCHEDULER_CONTROLS)
+ #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES)
/** Configure the context needed by the scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTEXT RTEMS_SCHEDULER_CONTEXT_EDF(dflt)
+ #define CONFIGURE_SCHEDULER RTEMS_SCHEDULER_CONTEXT_EDF(dflt)
/** Configure the controls for this scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTROLS \
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_CONTROL_EDF(dflt, CONFIGURE_SCHEDULER_NAME)
#endif
#endif
@@ -906,13 +921,13 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'E', 'D', 'F')
#endif
- #if !defined(CONFIGURE_SCHEDULER_CONTROLS)
+ #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES)
/** Configure the context needed by the scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTEXT \
+ #define CONFIGURE_SCHEDULER \
RTEMS_SCHEDULER_CONTEXT_EDF_SMP(dflt, CONFIGURE_MAXIMUM_PROCESSORS)
/** Configure the controls for this scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTROLS \
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_CONTROL_EDF_SMP(dflt, CONFIGURE_SCHEDULER_NAME)
#endif
#endif
@@ -926,12 +941,12 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
#define CONFIGURE_SCHEDULER_NAME rtems_build_name('U', 'C', 'B', 'S')
#endif
- #if !defined(CONFIGURE_SCHEDULER_CONTROLS)
+ #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES)
/** Configure the context needed by the scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTEXT RTEMS_SCHEDULER_CONTEXT_CBS(dflt)
+ #define CONFIGURE_SCHEDULER RTEMS_SCHEDULER_CONTEXT_CBS(dflt)
/** Configure the controls for this scheduler instance */
- #define CONFIGURE_SCHEDULER_CONTROLS \
+ #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \
RTEMS_SCHEDULER_CONTROL_CBS(dflt, CONFIGURE_SCHEDULER_NAME)
#endif
@@ -953,12 +968,12 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
* this code to know which scheduler is configured by the user.
*/
#ifdef CONFIGURE_INIT
- #if defined(CONFIGURE_SCHEDULER_CONTEXT)
- CONFIGURE_SCHEDULER_CONTEXT;
+ #if defined(CONFIGURE_SCHEDULER)
+ CONFIGURE_SCHEDULER;
#endif
const Scheduler_Control _Scheduler_Table[] = {
- CONFIGURE_SCHEDULER_CONTROLS
+ CONFIGURE_SCHEDULER_TABLE_ENTRIES
};
#define CONFIGURE_SCHEDULER_COUNT RTEMS_ARRAY_SIZE( _Scheduler_Table )
@@ -967,109 +982,109 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
const size_t _Scheduler_Count = CONFIGURE_SCHEDULER_COUNT;
const Scheduler_Assignment _Scheduler_Initial_assignments[] = {
- #if defined(CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS)
- CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS
+ #if defined(CONFIGURE_SCHEDULER_ASSIGNMENTS)
+ CONFIGURE_SCHEDULER_ASSIGNMENTS
#else
- #define _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT \
+ #define _CONFIGURE_SCHEDULER_ASSIGN \
RTEMS_SCHEDULER_ASSIGN( \
0, \
RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL \
)
- _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ _CONFIGURE_SCHEDULER_ASSIGN
#if CONFIGURE_MAXIMUM_PROCESSORS >= 2
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 3
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 4
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 5
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 6
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 7
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 8
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 9
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 10
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 11
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 12
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 13
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 14
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 15
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 16
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 17
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 18
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 19
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 20
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 21
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 22
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 23
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 24
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 25
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 26
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 27
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 28
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 29
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 30
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 31
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
#if CONFIGURE_MAXIMUM_PROCESSORS >= 32
- , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ , _CONFIGURE_SCHEDULER_ASSIGN
#endif
- #undef _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT
+ #undef _CONFIGURE_SCHEDULER_ASSIGN
#endif
};
diff --git a/cpukit/include/rtems/scheduler.h b/cpukit/include/rtems/scheduler.h
index b8ad83e..336ca71 100644
--- a/cpukit/include/rtems/scheduler.h
+++ b/cpukit/include/rtems/scheduler.h
@@ -63,16 +63,24 @@
#define SCHEDULER_CBS_CONTEXT_NAME( name ) \
SCHEDULER_CONTEXT_NAME( CBS_ ## name )
- #define RTEMS_SCHEDULER_CONTEXT_CBS( name ) \
+ #define RTEMS_SCHEDULER_CBS( name ) \
static Scheduler_EDF_Context SCHEDULER_CBS_CONTEXT_NAME( name )
- #define RTEMS_SCHEDULER_CONTROL_CBS( name, obj_name ) \
+ #define RTEMS_SCHEDULER_TABLE_CBS( name, obj_name ) \
{ \
&SCHEDULER_CBS_CONTEXT_NAME( name ).Base, \
SCHEDULER_CBS_ENTRY_POINTS, \
SCHEDULER_CBS_MAXIMUM_PRIORITY, \
( obj_name ) \
}
+
+ /* Provided for backward compatibility */
+
+ #define RTEMS_SCHEDULER_CONTEXT_CBS( name ) \
+ RTEMS_SCHEDULER_CBS( name )
+
+ #define RTEMS_SCHEDULER_CONTROL_CBS( name, obj_name ) \
+ RTEMS_SCHEDULER_TABLE_CBS( name, obj_name )
#endif
#ifdef CONFIGURE_SCHEDULER_EDF
@@ -81,16 +89,24 @@
#define SCHEDULER_EDF_CONTEXT_NAME( name ) \
SCHEDULER_CONTEXT_NAME( EDF_ ## name )
- #define RTEMS_SCHEDULER_CONTEXT_EDF( name ) \
+ #define RTEMS_SCHEDULER_EDF( name ) \
static Scheduler_EDF_Context SCHEDULER_EDF_CONTEXT_NAME( name )
- #define RTEMS_SCHEDULER_CONTROL_EDF( name, obj_name ) \
+ #define RTEMS_SCHEDULER_TABLE_EDF( name, obj_name ) \
{ \
&SCHEDULER_EDF_CONTEXT_NAME( name ).Base, \
SCHEDULER_EDF_ENTRY_POINTS, \
SCHEDULER_EDF_MAXIMUM_PRIORITY, \
( obj_name ) \
}
+
+ /* Provided for backward compatibility */
+
+ #define RTEMS_SCHEDULER_CONTEXT_EDF( name ) \
+ RTEMS_SCHEDULER_EDF( name )
+
+ #define RTEMS_SCHEDULER_CONTROL_EDF( name, obj_name ) \
+ RTEMS_SCHEDULER_TABLE_EDF( name, obj_name )
#endif
#ifdef CONFIGURE_SCHEDULER_EDF_SMP
@@ -99,19 +115,27 @@
#define SCHEDULER_EDF_SMP_CONTEXT_NAME( name ) \
SCHEDULER_CONTEXT_NAME( EDF_SMP_ ## name )
- #define RTEMS_SCHEDULER_CONTEXT_EDF_SMP( name, max_cpu_count ) \
+ #define RTEMS_SCHEDULER_EDF_SMP( name, max_cpu_count ) \
static struct { \
Scheduler_EDF_SMP_Context Base; \
Scheduler_EDF_SMP_Ready_queue Ready[ ( max_cpu_count ) + 1 ]; \
} SCHEDULER_EDF_SMP_CONTEXT_NAME( name )
- #define RTEMS_SCHEDULER_CONTROL_EDF_SMP( name, obj_name ) \
+ #define RTEMS_SCHEDULER_TABLE_EDF_SMP( name, obj_name ) \
{ \
&SCHEDULER_EDF_SMP_CONTEXT_NAME( name ).Base.Base.Base, \
SCHEDULER_EDF_SMP_ENTRY_POINTS, \
SCHEDULER_EDF_MAXIMUM_PRIORITY, \
( obj_name ) \
}
+
+ /* Provided for backward compatibility */
+
+ #define RTEMS_SCHEDULER_CONTEXT_EDF_SMP( name, max_cpu_count ) \
+ RTEMS_SCHEDULER_EDF_SMP( name, max_cpu_count )
+
+ #define RTEMS_SCHEDULER_CONTROL_EDF_SMP( name, obj_name ) \
+ RTEMS_SCHEDULER_TABLE_EDF_SMP( name, obj_name )
#endif
#ifdef CONFIGURE_SCHEDULER_PRIORITY
@@ -120,13 +144,13 @@
#define SCHEDULER_PRIORITY_CONTEXT_NAME( name ) \
SCHEDULER_CONTEXT_NAME( priority_ ## name )
- #define RTEMS_SCHEDULER_CONTEXT_PRIORITY( name, prio_count ) \
+ #define RTEMS_SCHEDULER_PRIORITY( name, prio_count ) \
static struct { \
Scheduler_priority_Context Base; \
Chain_Control Ready[ ( prio_count ) ]; \
} SCHEDULER_PRIORITY_CONTEXT_NAME( name )
- #define RTEMS_SCHEDULER_CONTROL_PRIORITY( name, obj_name ) \
+ #define RTEMS_SCHEDULER_TABLE_PRIORITY( name, obj_name ) \
{ \
&SCHEDULER_PRIORITY_CONTEXT_NAME( name ).Base.Base, \
SCHEDULER_PRIORITY_ENTRY_POINTS, \
@@ -135,6 +159,14 @@
) - 1, \
( obj_name ) \
}
+
+ /* Provided for backward compatibility */
+
+ #define RTEMS_SCHEDULER_CONTEXT_PRIORITY( name, prio_count ) \
+ RTEMS_SCHEDULER_PRIORITY( name, prio_count )
+
+ #define RTEMS_SCHEDULER_CONTROL_PRIORITY( name, obj_name ) \
+ RTEMS_SCHEDULER_TABLE_PRIORITY( name, obj_name )
#endif
#ifdef CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
@@ -143,13 +175,13 @@
#define SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ) \
SCHEDULER_CONTEXT_NAME( priority_affinity_SMP_ ## name )
- #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP( name, prio_count ) \
+ #define RTEMS_SCHEDULER_PRIORITY_AFFINITY_SMP( name, prio_count ) \
static struct { \
Scheduler_priority_SMP_Context Base; \
Chain_Control Ready[ ( prio_count ) ]; \
} SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name )
- #define RTEMS_SCHEDULER_CONTROL_PRIORITY_AFFINITY_SMP( name, obj_name ) \
+ #define RTEMS_SCHEDULER_TABLE_PRIORITY_AFFINITY_SMP( name, obj_name ) \
{ \
&SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ).Base.Base.Base, \
SCHEDULER_PRIORITY_AFFINITY_SMP_ENTRY_POINTS, \
@@ -158,6 +190,14 @@
) - 1, \
( obj_name ) \
}
+
+ /* Provided for backward compatibility */
+
+ #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP( name, prio_count ) \
+ RTEMS_SCHEDULER_PRIORITY_AFFINITY_SMP( name, prio_count )
+
+ #define RTEMS_SCHEDULER_CONTROL_PRIORITY_AFFINITY_SMP( name, obj_name ) \
+ RTEMS_SCHEDULER_TABLE_PRIORITY_AFFINITY_SMP( name, obj_name )
#endif
#ifdef CONFIGURE_SCHEDULER_PRIORITY_SMP
@@ -166,13 +206,13 @@
#define SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ) \
SCHEDULER_CONTEXT_NAME( priority_SMP_ ## name )
- #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP( name, prio_count ) \
+ #define RTEMS_SCHEDULER_PRIORITY_SMP( name, prio_count ) \
static struct { \
Scheduler_priority_SMP_Context Base; \
Chain_Control Ready[ ( prio_count ) ]; \
} SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name )
- #define RTEMS_SCHEDULER_CONTROL_PRIORITY_SMP( name, obj_name ) \
+ #define RTEMS_SCHEDULER_TABLE_PRIORITY_SMP( name, obj_name ) \
{ \
&SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ).Base.Base.Base, \
SCHEDULER_PRIORITY_SMP_ENTRY_POINTS, \
@@ -181,6 +221,14 @@
) - 1, \
( obj_name ) \
}
+
+ /* Provided for backward compatibility */
+
+ #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP( name, prio_count ) \
+ RTEMS_SCHEDULER_PRIORITY_SMP( name, prio_count )
+
+ #define RTEMS_SCHEDULER_CONTROL_PRIORITY_SMP( name, obj_name ) \
+ RTEMS_SCHEDULER_TABLE_PRIORITY_SMP( name, obj_name )
#endif
#ifdef CONFIGURE_SCHEDULER_STRONG_APA
@@ -189,13 +237,13 @@
#define SCHEDULER_STRONG_APA_CONTEXT_NAME( name ) \
SCHEDULER_CONTEXT_NAME( strong_APA_ ## name )
- #define RTEMS_SCHEDULER_CONTEXT_STRONG_APA( name, prio_count ) \
+ #define RTEMS_SCHEDULER_STRONG_APA( name, prio_count ) \
static struct { \
Scheduler_strong_APA_Context Base; \
Chain_Control Ready[ ( prio_count ) ]; \
} SCHEDULER_STRONG_APA_CONTEXT_NAME( name )
- #define RTEMS_SCHEDULER_CONTROL_STRONG_APA( name, obj_name ) \
+ #define RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name ) \
{ \
&SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Base.Base.Base, \
SCHEDULER_STRONG_APA_ENTRY_POINTS, \
@@ -204,6 +252,14 @@
) - 1, \
( obj_name ) \
}
+
+ /* Provided for backward compatibility */
+
+ #define RTEMS_SCHEDULER_CONTEXT_STRONG_APA( name, prio_count ) \
+ RTEMS_SCHEDULER_STRONG_APA( name, prio_count )
+
+ #define RTEMS_SCHEDULER_CONTROL_STRONG_APA( name, obj_name ) \
+ RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name )
#endif
#ifdef CONFIGURE_SCHEDULER_SIMPLE
@@ -212,17 +268,25 @@
#define SCHEDULER_SIMPLE_CONTEXT_NAME( name ) \
SCHEDULER_CONTEXT_NAME( simple_ ## name )
- #define RTEMS_SCHEDULER_CONTEXT_SIMPLE( name ) \
+ #define RTEMS_SCHEDULER_SIMPLE( name ) \
static Scheduler_simple_Context \
SCHEDULER_SIMPLE_CONTEXT_NAME( name )
- #define RTEMS_SCHEDULER_CONTROL_SIMPLE( name, obj_name ) \
+ #define RTEMS_SCHEDULER_TABLE_SIMPLE( name, obj_name ) \
{ \
&SCHEDULER_SIMPLE_CONTEXT_NAME( name ).Base, \
SCHEDULER_SIMPLE_ENTRY_POINTS, \
SCHEDULER_SIMPLE_MAXIMUM_PRIORITY, \
( obj_name ) \
}
+
+ /* Provided for backward compatibility */
+
+ #define RTEMS_SCHEDULER_CONTEXT_SIMPLE( name ) \
+ RTEMS_SCHEDULER_SIMPLE( name )
+
+ #define RTEMS_SCHEDULER_CONTROL_SIMPLE( name, obj_name ) \
+ RTEMS_SCHEDULER_TABLE_SIMPLE( name, obj_name )
#endif
#ifdef CONFIGURE_SCHEDULER_SIMPLE_SMP
@@ -231,17 +295,25 @@
#define SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name ) \
SCHEDULER_CONTEXT_NAME( simple_SMP_ ## name )
- #define RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP( name ) \
+ #define RTEMS_SCHEDULER_SIMPLE_SMP( name ) \
static Scheduler_simple_SMP_Context \
SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name )
- #define RTEMS_SCHEDULER_CONTROL_SIMPLE_SMP( name, obj_name ) \
+ #define RTEMS_SCHEDULER_TABLE_SIMPLE_SMP( name, obj_name ) \
{ \
&SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name ).Base.Base, \
SCHEDULER_SIMPLE_SMP_ENTRY_POINTS, \
SCHEDULER_SIMPLE_SMP_MAXIMUM_PRIORITY, \
( obj_name ) \
}
+
+ /* Provided for backward compatibility */
+
+ #define RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP( name ) \
+ RTEMS_SCHEDULER_SIMPLE_SMP( name )
+
+ #define RTEMS_SCHEDULER_CONTROL_SIMPLE_SMP( name, obj_name ) \
+ RTEMS_SCHEDULER_TABLE_SIMPLE_SMP( name, obj_name )
#endif
#endif /* _RTEMS_SAPI_SCHEDULER_H */
More information about the vc
mailing list