Mercurial > ecos
diff packages/kernel/current/cdl/scheduler.cdl @ 115:6ed91473a1cd ecos-sw-2000-08-21
Merge from eCos master repository on 2000-08-21-22:40:54-BST
| author | jlarmour |
|---|---|
| date | Fri, 25 Aug 2000 17:32:38 +0000 |
| parents | 6736c52df507 |
| children | 0ae0bc38e387 |
line wrap: on
line diff
--- a/packages/kernel/current/cdl/scheduler.cdl +++ b/packages/kernel/current/cdl/scheduler.cdl @@ -122,8 +122,25 @@ cdl_component CYGNUM_KERNEL_SCHED_PRIORI This option automatically defines the size of bitmap used to track occupied priority levels." } + + + cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES { + display "Dequeue oldest threads first" + flavor bool + default_value 0 + description " + With this option enabled, threads queued in a thread queue + will be dequeued in priority order, rather than last in, + first out (LIFO). Threads of equal priority are dequeued + oldest first. The only exception is the scheduler run + queues where order is less important as each is already + sorted by priority. Note that this makes the thread queueing + less deterministic." + } } +# --------------------------------------------------------------------- +# Timeslice options # NOTE: this option only makes sense for some of the schedulers. # Timeslicing is irrelevant for bitmap schedulers. @@ -155,4 +172,53 @@ cdl_component CYGSEM_KERNEL_SCHED_TIMESL takes place, so increasing the value reduces the frequency of timeslices." } + + cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE { + display "Support runtime enable of timeslice per-thread" + flavor bool + default_value false + description "This option makes timslicing a per-thread runtime + option. When enabled, threads may have timeslicing + turned on or off dynamically. This is generally used + by higher level APIs (such as POSIX) to implement + differing scheduling policies." + + } } + +# --------------------------------------------------------------------- +# ASR support options + +cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT { + display "Enable ASR support" + flavor bool + default_value false + description " + This component controls support for Asynchronous Service + Routines (ASRs). This is a function that may be called + from the scheduler when it has just exited the scheduler + lock. This is primarily for use by API compatibility layers." + + cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL { + display "Make ASR function global" + flavor bool + default_value true + description " + This option controls whether the ASR function is shared by + all threads, or whether each thread may have its own ASR + function." + } + + cdl_option CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL { + display "Make ASR data global" + flavor bool + default_value true + description " + This option controls whether the ASR data is shared by + all threads, or whether each thread may have its own ASR + data. This is independent of the previous option because + it may be useful to pass per-thread data to a shared ASR + function." + } +} +
