diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/user/conf.t | 48 |
2 files changed, 47 insertions, 5 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 1135c2b772..5da1b7175b 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,5 +1,9 @@ 2011-05-18 Joel Sherrill <joel.sherrill@oarcorp.com> + * user/conf.t: Add SMP Configuration parameters. + +2011-05-18 Joel Sherrill <joel.sherrill@oarcorp.com> + * user/conf.t: Slight rework to deemphasize not using confdefs.h 2011-05-12 Joel Sherrill <joel.sherrilL@OARcorp.com> diff --git a/doc/user/conf.t b/doc/user/conf.t index f1cb8bf99e..0f7cfe36d7 100644 --- a/doc/user/conf.t +++ b/doc/user/conf.t @@ -402,11 +402,12 @@ a scheduling algorithm for an application. For the schedulers built into RTEMS, @findex CONFIGURE_SCHEDULER_PRIORITY @item Deterministic Priority Scheduler - This is the default scheduler -in RTEMS and is designed for predictable performance under the highest -loads. It can block or unblock a thread in a constant amount of time. -This scheduler requires a variable amount of memory based upon the number -of priorities configured in the system. This scheduler may be explicitly -selected by defining @code{CONFIGURE_SCHEDULER_PRIORITY}. +in RTEMS for single core applications and is designed for predictable +performance under the highest loads. It can block or unblock a thread +in a constant amount of time. This scheduler requires a variable +amount of memory based upon the number of priorities configured in +the system. This scheduler may be explicitly selected by defining +@code{CONFIGURE_SCHEDULER_PRIORITY}. @findex CONFIGURE_SCHEDULER_SIMPLE @item Simple Priority Scheduler - This is an alternative scheduler @@ -418,6 +419,23 @@ constant time operation with this scheduler. This scheduler is appropriate for use in small systems where RAM is limited. This scheduler may be explicitly selected by defining @code{CONFIGURE_SCHEDULER_SIMPLE}. +@findex CONFIGURE_SCHEDULER_SIMPLE_SMP +@item Simple SMP Priority Scheduler - This scheduler is derived from the +Simple Priority Scheduler but is capable of scheduling threads across +multiple cores. It is designed to provide the same task scheduling +behaviour as the Deterministic Priority Scheduler while distributing +threads across multiple cores. Being based upon the Simple Priority +Scheduler, it is also maintains a single sorted list of all ready threads. +Thus blocking or unblocking a thread is not a constant time operation +with this scheduler. In addition, when allocating threads to cores, +the algorithm is not constant time. This algorithm was not designed +with efficiency as a primary design goal. Its primary design goal was to +provide an SMP-aware scheduling algorithm that is simple to understand. +This scheduler is currently the default in SMP configurations and is +only selected when @code{CONFIGURE_SMP_APPLICATION} is defined. In a +configuration with SMP enabled at configure time, it may be explicitly +selected by defining @code{CONFIGURE_SCHEDULER_SIMPLE_SMP}. + @end itemize The pluggable scheduler interface was added after the 4.10 release series @@ -453,6 +471,26 @@ Deterministic Priority Scheduler. @c @c @c +@subsection SMP Specific Configuration Parameters + +When RTEMS is configured to support SMP target systems, there are other +configuration parameters which apply. + +@itemize @bullet + +@findex CONFIGURE_SMP_APPLICATION +@item @code{CONFIGURE_SMP_APPLICATION} must be defined if the application +is to make use of multiple CPU cores in an SMP target system. + +@item @code{CONFIGURE_SMP_MAXIMUM_PROCESSORS} must be set to the number +of CPU cores in the SMP configuration. If there are more cores available +than configured, the rest will be ignored. + +@end itemize + +@c +@c +@c @subsection Device Driver Table This section defines the configuration parameters related |