2009-09-16 08:54:45 +02:00
/*
* Only give sleepers 50 % of their service deficit . This allows
* them to run sooner , but does not allow tons of sleepers to
* rip the spread apart .
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( GENTLE_FAIR_SLEEPERS , true )
2009-09-11 12:31:23 +02:00
/*
* Place new tasks ahead so that they do not starve already running
* tasks
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( START_DEBIT , true )
2009-09-11 12:31:23 +02:00
/*
* 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 .
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( AFFINE_WAKEUPS , true )
2009-09-11 12:31:23 +02: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 .
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( NEXT_BUDDY , false )
2009-09-11 12:31:23 +02:00
/*
* Prefer to schedule the task that ran last ( when we did
* wake - preempt ) as that likely will touch the same data , increases
* cache locality .
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( LAST_BUDDY , true )
2009-09-11 12:31:23 +02:00
/*
* Consider buddies to be cache hot , decreases the likelyness of a
* cache buddy being migrated away , increases cache locality .
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( CACHE_HOT_BUDDY , true )
2009-09-11 12:31:23 +02:00
2009-09-03 13:20:03 +02:00
/*
* Use arch dependent cpu power functions
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( ARCH_POWER , false )
2009-09-03 13:20:03 +02:00
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( HRTICK , false )
SCHED_FEAT ( DOUBLE_TICK , false )
SCHED_FEAT ( LB_BIAS , true )
2009-09-11 12:31:23 +02: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 .
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( OWNER_SPIN , true )
2010-10-04 17:03:22 -07:00
/*
2011-07-11 15:28:18 -04:00
* Decrement CPU power based on time not spent running tasks
2010-10-04 17:03:22 -07:00
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( NONTASK_POWER , true )
2011-04-05 17:23:58 +02:00
/*
* Queue remote wakeups on the target CPU and process them
* using the scheduler IPI . Reduces rq - > lock contention / bounces .
*/
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( TTWU_QUEUE , true )
2011-07-15 10:35:52 +02:00
2011-07-06 14:20:14 +02:00
SCHED_FEAT ( FORCE_SD_OVERLAP , false )
SCHED_FEAT ( RT_RUNTIME_SHARE , true )
2012-04-17 13:38:40 +02:00
SCHED_FEAT ( LB_MIN , false )