2009-09-11 14:31:23 +04:00
/*
* Disregards a certain amount of sleep time ( sched_latency_ns ) and
* considers the task to be running during that period . This gives it
* a service deficit on wakeup , allowing it to run sooner .
*/
2009-09-10 22:34:48 +04:00
SCHED_FEAT ( NEW_FAIR_SLEEPERS , 0 )
2009-09-11 14:31:23 +04:00
/*
* By not normalizing the sleep time , heavy tasks get an effective
* longer period , and lighter task an effective shorter period they
* are considered running .
*/
2009-01-14 14:39:19 +03:00
SCHED_FEAT ( NORMALIZED_SLEEPER , 0 )
2009-09-11 14:31:23 +04:00
/*
* Place new tasks ahead so that they do not starve already running
* tasks
*/
2008-04-19 21:45:00 +04:00
SCHED_FEAT ( START_DEBIT , 1 )
2009-09-11 14:31:23 +04:00
/*
* Should wakeups try to preempt running tasks .
*/
SCHED_FEAT ( WAKEUP_PREEMPT , 1 )
/*
* Compute wakeup_gran based on task behaviour , clipped to
* [ 0 , sched_wakeup_gran_ns ]
*/
SCHED_FEAT ( ADAPTIVE_GRAN , 1 )
/*
* When converting the wakeup granularity to virtual time , do it such
* that heavier tasks preempting a lighter task have an edge .
*/
SCHED_FEAT ( ASYM_GRAN , 1 )
/*
* Always wakeup - preempt SYNC wakeups , see SYNC_WAKEUPS .
*/
SCHED_FEAT ( WAKEUP_SYNC , 0 )
/*
* Wakeup preempt based on task behaviour . Tasks that do not overlap
* don ' t get preempted .
*/
SCHED_FEAT ( WAKEUP_OVERLAP , 0 )
/*
* Use the SYNC wakeup hint , pipes and the likes use this to indicate
* the remote end is likely to consume the data we just wrote , and
* therefore has cache benefit from being placed on the same cpu , see
* also AFFINE_WAKEUPS .
*/
SCHED_FEAT ( SYNC_WAKEUPS , 1 )
/*
* Based on load and program behaviour , see if it makes sense to place
* a newly woken task on the same cpu as the task that woke it - -
* improve cache locality . Typically used with SYNC wakeups as
* generated by pipes and the like , see also SYNC_WAKEUPS .
*/
2008-04-19 21:45:00 +04:00
SCHED_FEAT ( AFFINE_WAKEUPS , 1 )
2009-09-11 14:31:23 +04:00
/*
* Prefer to schedule the task we woke last ( assuming it failed
* wakeup - preemption ) , since its likely going to consume data we
* touched , increases cache locality .
*/
SCHED_FEAT ( NEXT_BUDDY , 1 )
/*
* Prefer to schedule the task that ran last ( when we did
* wake - preempt ) as that likely will touch the same data , increases
* cache locality .
*/
SCHED_FEAT ( LAST_BUDDY , 1 )
/*
* Consider buddies to be cache hot , decreases the likelyness of a
* cache buddy being migrated away , increases cache locality .
*/
2008-04-19 21:45:00 +04:00
SCHED_FEAT ( CACHE_HOT_BUDDY , 1 )
2009-09-11 14:31:23 +04:00
2008-10-20 16:27:43 +04:00
SCHED_FEAT ( HRTICK , 0 )
2008-04-19 21:45:00 +04:00
SCHED_FEAT ( DOUBLE_TICK , 0 )
2008-08-20 14:44:55 +04:00
SCHED_FEAT ( LB_BIAS , 1 )
2008-06-27 15:41:35 +04:00
SCHED_FEAT ( LB_WAKEUP_UPDATE , 1 )
2008-06-27 15:41:39 +04:00
SCHED_FEAT ( ASYM_EFF_LOAD , 1 )
2009-09-11 14:31:23 +04:00
/*
* Spin - wait on mutex acquisition when the mutex owner is running on
* another cpu - - assumes that when the owner is running , it will soon
* release the lock . Decreases scheduling overhead .
*/
2009-01-12 16:01:47 +03:00
SCHED_FEAT ( OWNER_SPIN , 1 )