The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/kernel/sched_features.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Only give sleepers 50% of their service deficit. This allows
    3  * them to run sooner, but does not allow tons of sleepers to
    4  * rip the spread apart.
    5  */
    6 SCHED_FEAT(GENTLE_FAIR_SLEEPERS, 1)
    7 
    8 /*
    9  * Place new tasks ahead so that they do not starve already running
   10  * tasks
   11  */
   12 SCHED_FEAT(START_DEBIT, 1)
   13 
   14 /*
   15  * Should wakeups try to preempt running tasks.
   16  */
   17 SCHED_FEAT(WAKEUP_PREEMPT, 1)
   18 
   19 /*
   20  * Based on load and program behaviour, see if it makes sense to place
   21  * a newly woken task on the same cpu as the task that woke it --
   22  * improve cache locality. Typically used with SYNC wakeups as
   23  * generated by pipes and the like, see also SYNC_WAKEUPS.
   24  */
   25 SCHED_FEAT(AFFINE_WAKEUPS, 1)
   26 
   27 /*
   28  * Prefer to schedule the task we woke last (assuming it failed
   29  * wakeup-preemption), since its likely going to consume data we
   30  * touched, increases cache locality.
   31  */
   32 SCHED_FEAT(NEXT_BUDDY, 0)
   33 
   34 /*
   35  * Prefer to schedule the task that ran last (when we did
   36  * wake-preempt) as that likely will touch the same data, increases
   37  * cache locality.
   38  */
   39 SCHED_FEAT(LAST_BUDDY, 1)
   40 
   41 /*
   42  * Consider buddies to be cache hot, decreases the likelyness of a
   43  * cache buddy being migrated away, increases cache locality.
   44  */
   45 SCHED_FEAT(CACHE_HOT_BUDDY, 1)
   46 
   47 /*
   48  * Use arch dependent cpu power functions
   49  */
   50 SCHED_FEAT(ARCH_POWER, 0)
   51 
   52 SCHED_FEAT(HRTICK, 0)
   53 SCHED_FEAT(DOUBLE_TICK, 0)
   54 SCHED_FEAT(LB_BIAS, 1)
   55 
   56 /*
   57  * Spin-wait on mutex acquisition when the mutex owner is running on
   58  * another cpu -- assumes that when the owner is running, it will soon
   59  * release the lock. Decreases scheduling overhead.
   60  */
   61 SCHED_FEAT(OWNER_SPIN, 1)
   62 
   63 /*
   64  * Decrement CPU power based on time not spent running tasks
   65  */
   66 SCHED_FEAT(NONTASK_POWER, 1)
   67 
   68 /*
   69  * Queue remote wakeups on the target CPU and process them
   70  * using the scheduler IPI. Reduces rq->lock contention/bounces.
   71  */
   72 SCHED_FEAT(TTWU_QUEUE, 1)
   73 
   74 SCHED_FEAT(FORCE_SD_OVERLAP, 0)

Cache object: 1cc830cb19a77de2277b345ed669b188


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.