diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-07 15:35:47 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-08-20 10:17:35 +0200 |
commit | 99b35052ae1437dd17477152a6e04fa2e7e89c26 (patch) | |
tree | 8fbf2647fcecce562353bf8da53c6126cb457b58 /cpukit/sapi/include/confdefs.h | |
parent | smp: Generalize Simple SMP scheduler (diff) | |
download | rtems-99b35052ae1437dd17477152a6e04fa2e7e89c26.tar.bz2 |
smp: Add Deterministic Priority SMP Scheduler
Diffstat (limited to 'cpukit/sapi/include/confdefs.h')
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 31d28acec1..dc4fb5e415 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -606,6 +606,7 @@ const rtems_libio_helper rtems_fs_init_helper = * scheduling policy to use. The supported configurations are: * CONFIGURE_SCHEDULER_USER - user provided scheduler * CONFIGURE_SCHEDULER_PRIORITY - Deterministic Priority Scheduler + * CONFIGURE_SCHEDULER_PRIORITY_SMP - Deterministic Priority SMP Scheduler * CONFIGURE_SCHEDULER_SIMPLE - Light-weight Priority Scheduler * CONFIGURE_SCHEDULER_SIMPLE_SMP - Simple SMP Priority Scheduler * CONFIGURE_SCHEDULER_EDF - EDF Scheduler @@ -629,12 +630,13 @@ const rtems_libio_helper rtems_fs_init_helper = /* If no scheduler is specified, the priority scheduler is default. */ #if !defined(CONFIGURE_SCHEDULER_USER) && \ !defined(CONFIGURE_SCHEDULER_PRIORITY) && \ + !defined(CONFIGURE_SCHEDULER_PRIORITY_SMP) && \ !defined(CONFIGURE_SCHEDULER_SIMPLE) && \ !defined(CONFIGURE_SCHEDULER_SIMPLE_SMP) && \ !defined(CONFIGURE_SCHEDULER_EDF) && \ !defined(CONFIGURE_SCHEDULER_CBS) #if defined(RTEMS_SMP) && defined(CONFIGURE_SMP_APPLICATION) - #define CONFIGURE_SCHEDULER_SIMPLE_SMP + #define CONFIGURE_SCHEDULER_PRIORITY_SMP #else #define CONFIGURE_SCHEDULER_PRIORITY #endif @@ -659,6 +661,26 @@ const rtems_libio_helper rtems_fs_init_helper = #endif /* + * If the Deterministic Priority SMP Scheduler is selected, then configure for + * it. + */ +#if defined(CONFIGURE_SCHEDULER_PRIORITY_SMP) + #include <rtems/score/schedulerprioritysmp.h> + #define CONFIGURE_SCHEDULER_ENTRY_POINTS SCHEDULER_PRIORITY_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) |