]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - kernel/sched/features.h
Merge tag 'nfs-for-3.4-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[mirror_ubuntu-bionic-kernel.git] / kernel / sched / features.h
CommitLineData
51e0304c
IM
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 */
f8b6d1cc 6SCHED_FEAT(GENTLE_FAIR_SLEEPERS, true)
e26af0e8 7
e26af0e8
PZ
8/*
9 * Place new tasks ahead so that they do not starve already running
10 * tasks
11 */
f8b6d1cc 12SCHED_FEAT(START_DEBIT, true)
e26af0e8 13
e26af0e8
PZ
14/*
15 * Based on load and program behaviour, see if it makes sense to place
16 * a newly woken task on the same cpu as the task that woke it --
17 * improve cache locality. Typically used with SYNC wakeups as
18 * generated by pipes and the like, see also SYNC_WAKEUPS.
19 */
f8b6d1cc 20SCHED_FEAT(AFFINE_WAKEUPS, true)
e26af0e8
PZ
21
22/*
23 * Prefer to schedule the task we woke last (assuming it failed
24 * wakeup-preemption), since its likely going to consume data we
25 * touched, increases cache locality.
26 */
f8b6d1cc 27SCHED_FEAT(NEXT_BUDDY, false)
e26af0e8
PZ
28
29/*
30 * Prefer to schedule the task that ran last (when we did
31 * wake-preempt) as that likely will touch the same data, increases
32 * cache locality.
33 */
f8b6d1cc 34SCHED_FEAT(LAST_BUDDY, true)
e26af0e8
PZ
35
36/*
37 * Consider buddies to be cache hot, decreases the likelyness of a
38 * cache buddy being migrated away, increases cache locality.
39 */
f8b6d1cc 40SCHED_FEAT(CACHE_HOT_BUDDY, true)
e26af0e8 41
8e6598af
PZ
42/*
43 * Use arch dependent cpu power functions
44 */
f8b6d1cc 45SCHED_FEAT(ARCH_POWER, false)
8e6598af 46
f8b6d1cc
PZ
47SCHED_FEAT(HRTICK, false)
48SCHED_FEAT(DOUBLE_TICK, false)
49SCHED_FEAT(LB_BIAS, true)
e26af0e8
PZ
50
51/*
52 * Spin-wait on mutex acquisition when the mutex owner is running on
53 * another cpu -- assumes that when the owner is running, it will soon
54 * release the lock. Decreases scheduling overhead.
55 */
f8b6d1cc 56SCHED_FEAT(OWNER_SPIN, true)
aa483808
VP
57
58/*
095c0aa8 59 * Decrement CPU power based on time not spent running tasks
aa483808 60 */
f8b6d1cc 61SCHED_FEAT(NONTASK_POWER, true)
317f3941
PZ
62
63/*
64 * Queue remote wakeups on the target CPU and process them
65 * using the scheduler IPI. Reduces rq->lock contention/bounces.
66 */
f8b6d1cc 67SCHED_FEAT(TTWU_QUEUE, true)
e3589f6c 68
f8b6d1cc
PZ
69SCHED_FEAT(FORCE_SD_OVERLAP, false)
70SCHED_FEAT(RT_RUNTIME_SHARE, true)