score: Improve Scheduler Handler documentation

This commit is contained in:
Sebastian Huber
2020-07-03 12:41:47 +02:00
parent 031f8124f2
commit 96ea30f0c9
2 changed files with 38 additions and 14 deletions

View File

@@ -30,12 +30,7 @@ extern "C" {
struct Per_CPU_Control; struct Per_CPU_Control;
/** /**
* @defgroup RTEMSScoreScheduler Scheduler Handler * @addtogroup RTEMSScoreScheduler
*
* @ingroup RTEMSScore
*
* This handler encapsulates functionality related to managing sets of threads
* that are ready for execution.
* *
* @{ * @{
*/ */
@@ -300,22 +295,24 @@ struct _Scheduler_Control {
}; };
/** /**
* @brief Registered schedulers. * @brief This table contains the configured schedulers.
* *
* Application provided via <rtems/confdefs.h>. * The table is defined by <rtems/confdefs.h> through the
* #CONFIGURE_SCHEDULER_TABLE_ENTRIES application configuration option.
* *
* @see _Scheduler_Count. * @see _Scheduler_Count.
*/ */
extern const Scheduler_Control _Scheduler_Table[]; extern const Scheduler_Control _Scheduler_Table[];
/** /**
* @brief Count of registered schedulers. * @brief This constant contains the count of configured schedulers.
* *
* Application provided via <rtems/confdefs.h> on SMP configurations. * In SMP configurations, the constant is defined by <rtems/confdefs.h> through
* the count of entries of the #CONFIGURE_SCHEDULER_TABLE_ENTRIES application
* configuration option.
* *
* It is very important that this is a compile-time constant on uni-processor * In uniprocessor configurations, this is a compile time constant set to one.
* configurations (in this case RTEMS_SMP is not defined) so that the compiler * This is important so that the compiler can optimize some loops away.
* can optimize the some loops away
* *
* @see _Scheduler_Table. * @see _Scheduler_Table.
*/ */

View File

@@ -34,7 +34,34 @@ extern "C" {
#endif #endif
/** /**
* @addtogroup RTEMSScoreScheduler * @defgroup RTEMSScoreScheduler Scheduler Handler
*
* @ingroup RTEMSScore
*
* @brief This handler encapsulates functionality related to managing sets of
* threads that are ready for execution.
*
* Schedulers are used by the system to manage sets of threads that are ready
* for execution. A scheduler consists of
*
* * a scheduler algorithm implementation,
*
* * a scheduler index and an associated name, and
*
* * a set of processors owned by the scheduler (may be empty, but never
* overlaps with a set owned by another scheduler).
*
* Each thread uses exactly one scheduler as its home scheduler. Threads may
* temporarily use another scheduler due to actions of locking protocols.
*
* All properties of a scheduler can be configured and controlled by the user.
* Some properties are fixed at link time (defined by application configuration
* options), other properties can be changed at runtime through directive
* calls.
*
* The scheduler index, name, and initial processor set are defined for a
* particular application by the application configuration. The schedulers are
* registered in the ::_Scheduler_Table which has ::_Scheduler_Count entries.
* *
* @{ * @{
*/ */