path: root/doc
diff options
Diffstat (limited to '')
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 <>
+ * user/conf.t: Add SMP Configuration parameters.
+2011-05-18 Joel Sherrill <>
* user/conf.t: Slight rework to deemphasize not using confdefs.h
2011-05-12 Joel Sherrill <>
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,
@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
@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}.
+@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.
+@subsection SMP Specific Configuration Parameters
+When RTEMS is configured to support SMP target systems, there are other
+configuration parameters which apply.
+@itemize @bullet
+@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
@subsection Device Driver Table
This section defines the configuration parameters related