summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJennifer Averett <jennifer.averett@oarcorp.com>2014-03-18 13:54:01 -0500
committerJennifer Averett <jennifer.averett@oarcorp.com>2014-04-03 10:48:56 -0500
commit6d24e8bc6f33403de2ec0f8d9cf0c064a8e9fbd8 (patch)
treea7b0a85c59288d97e22df73f7fa43ccb477804c1
parentda5b1b9f4c3e4788abad5dd924c5e84f8704f565 (diff)
downloadrtems-6d24e8bc6f33403de2ec0f8d9cf0c064a8e9fbd8.tar.bz2
sapi: Add priority affinity smp scheduler.
-rw-r--r--cpukit/sapi/include/confdefs.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h
index 53ea2f1bf6..ef8f09acf4 100644
--- a/cpukit/sapi/include/confdefs.h
+++ b/cpukit/sapi/include/confdefs.h
@@ -629,6 +629,7 @@ const rtems_libio_helper rtems_fs_init_helper =
* CONFIGURE_SCHEDULER_USER - user provided scheduler
* 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_SIMPLE - Light-weight Priority Scheduler
* CONFIGURE_SCHEDULER_SIMPLE_SMP - Simple SMP Priority Scheduler
* CONFIGURE_SCHEDULER_EDF - EDF Scheduler
@@ -653,6 +654,7 @@ const rtems_libio_helper rtems_fs_init_helper =
#if !defined(CONFIGURE_SCHEDULER_USER) && \
!defined(CONFIGURE_SCHEDULER_PRIORITY) && \
!defined(CONFIGURE_SCHEDULER_PRIORITY_SMP) && \
+ !defined(CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP) && \
!defined(CONFIGURE_SCHEDULER_SIMPLE) && \
!defined(CONFIGURE_SCHEDULER_SIMPLE_SMP) && \
!defined(CONFIGURE_SCHEDULER_EDF) && \
@@ -704,6 +706,26 @@ const rtems_libio_helper rtems_fs_init_helper =
#endif
/*
+ * If the Deterministic Priority Affinity SMP Scheduler is selected, then configure for
+ * it.
+ */
+#if defined(CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP)
+ #include <rtems/score/schedulerpriorityaffinitysmp.h>
+ #define CONFIGURE_SCHEDULER_ENTRY_POINTS SCHEDULER_PRIORITY_AFFINITY_SMP_ENTRY_POINTS
+
+ /**
+ * This defines the memory used by the priority scheduler.
+ */
+ #define CONFIGURE_MEMORY_FOR_SCHEDULER ( \
+ _Configure_From_workspace( \
+ sizeof(Scheduler_SMP_Control) + \
+ ((CONFIGURE_MAXIMUM_PRIORITY) * sizeof(Chain_Control)) ) \
+ )
+ #define CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER ( \
+ _Configure_From_workspace(sizeof(Scheduler_priority_Per_thread)) )
+#endif
+
+/*
* If the Simple Priority Scheduler is selected, then configure for it.
*/
#if defined(CONFIGURE_SCHEDULER_SIMPLE)