Changeset 690b7f9 in rtems-docs


Ignore:
Timestamp:
03/07/18 13:10:50 (5 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
5, am, master
Children:
464d541
Parents:
c2ee227
git-author:
Sebastian Huber <sebastian.huber@…> (03/07/18 13:10:50)
git-committer:
Sebastian Huber <sebastian.huber@…> (03/07/18 14:32:41)
Message:

c-user: Sort scheduler configuration options

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c-user/configuring_a_system.rst

    rc2ee227 r690b7f9  
    33073307configuration macros.
    33083308
    3309 .. index:: CONFIGURE_SCHEDULER_PRIORITY
    3310 
    3311 .. _CONFIGURE_SCHEDULER_PRIORITY:
    3312 
    3313 CONFIGURE_SCHEDULER_PRIORITY
    3314 ----------------------------
    3315 
    3316 CONSTANT:
    3317     ``CONFIGURE_SCHEDULER_PRIORITY``
    3318 
    3319 DATA TYPE:
    3320     Boolean feature macro.
    3321 
    3322 RANGE:
    3323     Defined or undefined.
    3324 
    3325 DEFAULT VALUE:
    3326     This is defined by default.  This is the default scheduler and specifying
    3327     this configuration parameter is redundant.
    3328 
    3329 DESCRIPTION:
    3330     The Deterministic Priority Scheduler is the default scheduler in RTEMS for
    3331     uni-processor applications and is designed for predictable performance
    3332     under the highest loads.  It can block or unblock a thread in a constant
    3333     amount of time.  This scheduler requires a variable amount of memory based
    3334     upon the number of priorities configured in the system.
    3335 
    3336 NOTES:
     3309.. index:: CONFIGURE_SCHEDULER_CBS
     3310
     3311.. _CONFIGURE_SCHEDULER_CBS:
     3312
     3313CONFIGURE_SCHEDULER_CBS
     3314-----------------------
     3315
     3316CONSTANT:
     3317    ``CONFIGURE_SCHEDULER_CBS``
     3318
     3319DATA TYPE:
     3320    Boolean feature macro.
     3321
     3322RANGE:
     3323    Defined or undefined.
     3324
     3325DEFAULT VALUE:
     3326    This is not defined by default.
     3327
     3328DESCRIPTION:
     3329    The Constant Bandwidth Server Scheduler (CBS) is an alternative scheduler
     3330    in RTEMS for uni-processor applications. The CBS is a budget aware
     3331    extension of EDF scheduler. The goal of this scheduler is to ensure
     3332    temporal isolation of tasks. The CBS is equipped with a set of additional
     3333    rules and provides with an extensive API.
     3334
    33373335    This scheduler may be explicitly selected by defining
    3338     ``CONFIGURE_SCHEDULER_PRIORITY`` although this is equivalent to the default
    3339     behavior.
    3340 
    3341 .. index:: CONFIGURE_SCHEDULER_SIMPLE
    3342 
    3343 .. _CONFIGURE_SCHEDULER_SIMPLE:
    3344 
    3345 CONFIGURE_SCHEDULER_SIMPLE
    3346 --------------------------
    3347 
    3348 CONSTANT:
    3349     ``CONFIGURE_SCHEDULER_SIMPLE``
    3350 
    3351 DATA TYPE:
    3352     Boolean feature macro.
    3353 
    3354 RANGE:
    3355     Defined or undefined.
    3356 
    3357 DEFAULT VALUE:
    3358     This is not defined by default.
    3359 
    3360 DESCRIPTION:
    3361     When defined, the Simple Priority Scheduler is used at the thread
    3362     scheduling algorithm. This is an alternative scheduler in RTEMS.  It is
    3363     designed to provide the same task scheduling behaviour as the Deterministic
    3364     Priority Scheduler while being simpler in implementation and uses less
    3365     memory for data management.  It maintains a single sorted list of all ready
    3366     threads.  Thus blocking or unblocking a thread is not a constant time
    3367     operation with this scheduler.
    3368 
    3369     This scheduler may be explicitly selected by defining
    3370     ``CONFIGURE_SCHEDULER_SIMPLE``.
    3371 
    3372 NOTES:
    3373     This scheduler is appropriate for use in small systems where RAM is limited.
     3336    ``CONFIGURE_SCHEDULER_CBS``.
     3337
     3338NOTES:
     3339    None.
    33743340
    33753341.. index:: CONFIGURE_SCHEDULER_EDF
     
    34353401    None.
    34363402
    3437 .. index:: CONFIGURE_SCHEDULER_CBS
    3438 
    3439 .. _CONFIGURE_SCHEDULER_CBS:
    3440 
    3441 CONFIGURE_SCHEDULER_CBS
    3442 -----------------------
    3443 
    3444 CONSTANT:
    3445     ``CONFIGURE_SCHEDULER_CBS``
    3446 
    3447 DATA TYPE:
    3448     Boolean feature macro.
    3449 
    3450 RANGE:
    3451     Defined or undefined.
    3452 
    3453 DEFAULT VALUE:
    3454     This is not defined by default.
    3455 
    3456 DESCRIPTION:
    3457     The Constant Bandwidth Server Scheduler (CBS) is an alternative scheduler
    3458     in RTEMS for uni-processor applications. The CBS is a budget aware
    3459     extension of EDF scheduler. The goal of this scheduler is to ensure
    3460     temporal isolation of tasks. The CBS is equipped with a set of additional
    3461     rules and provides with an extensive API.
    3462 
    3463     This scheduler may be explicitly selected by defining
    3464     ``CONFIGURE_SCHEDULER_CBS``.
    3465 
    3466 NOTES:
    3467     None.
    3468 
    3469 .. index:: CONFIGURE_SCHEDULER_PRIORITY_SMP
    3470 
    3471 .. _CONFIGURE_SCHEDULER_PRIORITY_SMP:
    3472 
    3473 CONFIGURE_SCHEDULER_PRIORITY_SMP
    3474 --------------------------------
    3475 
    3476 CONSTANT:
    3477     ``CONFIGURE_SCHEDULER_PRIORITY_SMP``
    3478 
    3479 DATA TYPE:
    3480     Boolean feature macro.
    3481 
    3482 RANGE:
    3483     Defined or undefined.
    3484 
    3485 DEFAULT VALUE:
    3486     This is not defined by default.
    3487 
    3488 DESCRIPTION:
    3489     The Deterministic Priority SMP Scheduler is derived from the Deterministic
    3490     Priority Scheduler but is capable of scheduling threads across multiple
    3491     processors.
    3492 
    3493     In a configuration with SMP enabled at configure time, it may be explicitly
    3494     selected by defining ``CONFIGURE_SCHEDULER_PRIORITY_SMP``.
    3495 
    3496 NOTES:
    3497     This scheduler is only available when RTEMS is configured with SMP support
    3498     enabled.
    3499 
    3500     This scheduler is currently the default in SMP configurations and is only
    3501     selected when ``CONFIGURE_MAXIMUM_PROCESSORS`` is greater than one.
    3502 
    3503 .. index:: CONFIGURE_SCHEDULER_SIMPLE_SMP
    3504 
    3505 .. _CONFIGURE_SCHEDULER_SIMPLE_SMP:
    3506 
    3507 CONFIGURE_SCHEDULER_SIMPLE_SMP
    3508 ------------------------------
    3509 
    3510 CONSTANT:
    3511     ``CONFIGURE_SCHEDULER_SIMPLE_SMP``
    3512 
    3513 DATA TYPE:
    3514     Boolean feature macro.
    3515 
    3516 RANGE:
    3517     Defined or undefined.
    3518 
    3519 DEFAULT VALUE:
    3520     This is not defined by default.
    3521 
    3522 DESCRIPTION:
    3523     The Simple SMP Priority Scheduler is derived from the Simple Priority
    3524     Scheduler but is capable of scheduling threads across multiple processors.
    3525     It is designed to provide the same task scheduling behaviour as the
    3526     Deterministic Priority Scheduler while distributing threads across multiple
    3527     processors.  Being based upon the Simple Priority Scheduler, it also
    3528     maintains a single sorted list of all ready threads.  Thus blocking or
    3529     unblocking a thread is not a constant time operation with this scheduler.
    3530 
    3531     In addition, when allocating threads to processors, the algorithm is not
    3532     constant time. This algorithm was not designed with efficiency as a primary
    3533     design goal.  Its primary design goal was to provide an SMP-aware
    3534     scheduling algorithm that is simple to understand.
    3535 
    3536     In a configuration with SMP enabled at configure time, it may be explicitly
    3537     selected by defining ``CONFIGURE_SCHEDULER_SIMPLE_SMP``.
    3538 
    3539 NOTES:
    3540     This scheduler is only available when RTEMS is configured with SMP support
    3541     enabled.
    3542 
    35433403.. index:: CONFIGURE_SCHEDULER_NAME
    35443404
     
    35753435NOTES:
    35763436    None.
     3437
     3438.. index:: CONFIGURE_SCHEDULER_PRIORITY
     3439
     3440.. _CONFIGURE_SCHEDULER_PRIORITY:
     3441
     3442CONFIGURE_SCHEDULER_PRIORITY
     3443----------------------------
     3444
     3445CONSTANT:
     3446    ``CONFIGURE_SCHEDULER_PRIORITY``
     3447
     3448DATA TYPE:
     3449    Boolean feature macro.
     3450
     3451RANGE:
     3452    Defined or undefined.
     3453
     3454DEFAULT VALUE:
     3455    This is defined by default.  This is the default scheduler and specifying
     3456    this configuration parameter is redundant.
     3457
     3458DESCRIPTION:
     3459    The Deterministic Priority Scheduler is the default scheduler in RTEMS for
     3460    uni-processor applications and is designed for predictable performance
     3461    under the highest loads.  It can block or unblock a thread in a constant
     3462    amount of time.  This scheduler requires a variable amount of memory based
     3463    upon the number of priorities configured in the system.
     3464
     3465NOTES:
     3466    This scheduler may be explicitly selected by defining
     3467    ``CONFIGURE_SCHEDULER_PRIORITY`` although this is equivalent to the default
     3468    behavior.
     3469
     3470.. index:: CONFIGURE_SCHEDULER_PRIORITY_SMP
     3471
     3472.. _CONFIGURE_SCHEDULER_PRIORITY_SMP:
     3473
     3474CONFIGURE_SCHEDULER_PRIORITY_SMP
     3475--------------------------------
     3476
     3477CONSTANT:
     3478    ``CONFIGURE_SCHEDULER_PRIORITY_SMP``
     3479
     3480DATA TYPE:
     3481    Boolean feature macro.
     3482
     3483RANGE:
     3484    Defined or undefined.
     3485
     3486DEFAULT VALUE:
     3487    This is not defined by default.
     3488
     3489DESCRIPTION:
     3490    The Deterministic Priority SMP Scheduler is derived from the Deterministic
     3491    Priority Scheduler but is capable of scheduling threads across multiple
     3492    processors.
     3493
     3494    In a configuration with SMP enabled at configure time, it may be explicitly
     3495    selected by defining ``CONFIGURE_SCHEDULER_PRIORITY_SMP``.
     3496
     3497NOTES:
     3498    This scheduler is only available when RTEMS is configured with SMP support
     3499    enabled.
     3500
     3501    This scheduler is currently the default in SMP configurations and is only
     3502    selected when ``CONFIGURE_MAXIMUM_PROCESSORS`` is greater than one.
     3503
     3504.. index:: CONFIGURE_SCHEDULER_SIMPLE
     3505
     3506.. _CONFIGURE_SCHEDULER_SIMPLE:
     3507
     3508CONFIGURE_SCHEDULER_SIMPLE
     3509--------------------------
     3510
     3511CONSTANT:
     3512    ``CONFIGURE_SCHEDULER_SIMPLE``
     3513
     3514DATA TYPE:
     3515    Boolean feature macro.
     3516
     3517RANGE:
     3518    Defined or undefined.
     3519
     3520DEFAULT VALUE:
     3521    This is not defined by default.
     3522
     3523DESCRIPTION:
     3524    When defined, the Simple Priority Scheduler is used at the thread
     3525    scheduling algorithm. This is an alternative scheduler in RTEMS.  It is
     3526    designed to provide the same task scheduling behaviour as the Deterministic
     3527    Priority Scheduler while being simpler in implementation and uses less
     3528    memory for data management.  It maintains a single sorted list of all ready
     3529    threads.  Thus blocking or unblocking a thread is not a constant time
     3530    operation with this scheduler.
     3531
     3532    This scheduler may be explicitly selected by defining
     3533    ``CONFIGURE_SCHEDULER_SIMPLE``.
     3534
     3535NOTES:
     3536    This scheduler is appropriate for use in small systems where RAM is limited.
     3537
     3538.. index:: CONFIGURE_SCHEDULER_SIMPLE_SMP
     3539
     3540.. _CONFIGURE_SCHEDULER_SIMPLE_SMP:
     3541
     3542CONFIGURE_SCHEDULER_SIMPLE_SMP
     3543------------------------------
     3544
     3545CONSTANT:
     3546    ``CONFIGURE_SCHEDULER_SIMPLE_SMP``
     3547
     3548DATA TYPE:
     3549    Boolean feature macro.
     3550
     3551RANGE:
     3552    Defined or undefined.
     3553
     3554DEFAULT VALUE:
     3555    This is not defined by default.
     3556
     3557DESCRIPTION:
     3558    The Simple SMP Priority Scheduler is derived from the Simple Priority
     3559    Scheduler but is capable of scheduling threads across multiple processors.
     3560    It is designed to provide the same task scheduling behaviour as the
     3561    Deterministic Priority Scheduler while distributing threads across multiple
     3562    processors.  Being based upon the Simple Priority Scheduler, it also
     3563    maintains a single sorted list of all ready threads.  Thus blocking or
     3564    unblocking a thread is not a constant time operation with this scheduler.
     3565
     3566    In addition, when allocating threads to processors, the algorithm is not
     3567    constant time. This algorithm was not designed with efficiency as a primary
     3568    design goal.  Its primary design goal was to provide an SMP-aware
     3569    scheduling algorithm that is simple to understand.
     3570
     3571    In a configuration with SMP enabled at configure time, it may be explicitly
     3572    selected by defining ``CONFIGURE_SCHEDULER_SIMPLE_SMP``.
     3573
     3574NOTES:
     3575    This scheduler is only available when RTEMS is configured with SMP support
     3576    enabled.
    35773577
    35783578.. index:: CONFIGURE_SCHEDULER_USER
Note: See TracChangeset for help on using the changeset viewer.