Blame view

kernel/sched/features.h 2.39 KB
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  /* SPDX-License-Identifier: GPL-2.0 */
e26af0e8b   Peter Zijlstra   sched: Add come c...
2
  /*
51e0304ce   Ingo Molnar   sched: Implement ...
3
4
5
6
   * 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.
   */
f8b6d1cc7   Peter Zijlstra   sched: Use jump_l...
7
  SCHED_FEAT(GENTLE_FAIR_SLEEPERS, true)
e26af0e8b   Peter Zijlstra   sched: Add come c...
8
9
  
  /*
e26af0e8b   Peter Zijlstra   sched: Add come c...
10
11
12
   * Place new tasks ahead so that they do not starve already running
   * tasks
   */
f8b6d1cc7   Peter Zijlstra   sched: Use jump_l...
13
  SCHED_FEAT(START_DEBIT, true)
e26af0e8b   Peter Zijlstra   sched: Add come c...
14
15
  
  /*
e26af0e8b   Peter Zijlstra   sched: Add come c...
16
17
18
19
   * 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.
   */
f8b6d1cc7   Peter Zijlstra   sched: Use jump_l...
20
  SCHED_FEAT(NEXT_BUDDY, false)
e26af0e8b   Peter Zijlstra   sched: Add come c...
21
22
23
24
25
26
  
  /*
   * Prefer to schedule the task that ran last (when we did
   * wake-preempt) as that likely will touch the same data, increases
   * cache locality.
   */
f8b6d1cc7   Peter Zijlstra   sched: Use jump_l...
27
  SCHED_FEAT(LAST_BUDDY, true)
e26af0e8b   Peter Zijlstra   sched: Add come c...
28
29
30
31
32
  
  /*
   * Consider buddies to be cache hot, decreases the likelyness of a
   * cache buddy being migrated away, increases cache locality.
   */
f8b6d1cc7   Peter Zijlstra   sched: Use jump_l...
33
  SCHED_FEAT(CACHE_HOT_BUDDY, true)
e26af0e8b   Peter Zijlstra   sched: Add come c...
34

8e6598af3   Peter Zijlstra   sched: Feature to...
35
  /*
8ed92e51f   Ingo Molnar   sched: Add WAKEUP...
36
37
38
   * Allow wakeup-time preemption of the current task:
   */
  SCHED_FEAT(WAKEUP_PREEMPTION, true)
f8b6d1cc7   Peter Zijlstra   sched: Use jump_l...
39
40
41
  SCHED_FEAT(HRTICK, false)
  SCHED_FEAT(DOUBLE_TICK, false)
  SCHED_FEAT(LB_BIAS, true)
e26af0e8b   Peter Zijlstra   sched: Add come c...
42
43
  
  /*
5d4dfddd4   Nicolas Pitre   sched: Rename cap...
44
   * Decrement CPU capacity based on time not spent running tasks
aa4838085   Venkatesh Pallipadi   sched: Remove irq...
45
   */
5d4dfddd4   Nicolas Pitre   sched: Rename cap...
46
  SCHED_FEAT(NONTASK_CAPACITY, true)
317f39416   Peter Zijlstra   sched: Move the s...
47
48
49
50
51
  
  /*
   * Queue remote wakeups on the target CPU and process them
   * using the scheduler IPI. Reduces rq->lock contention/bounces.
   */
f8b6d1cc7   Peter Zijlstra   sched: Use jump_l...
52
  SCHED_FEAT(TTWU_QUEUE, true)
e3589f6c8   Peter Zijlstra   sched: Allow for ...
53

4c77b18cf   Peter Zijlstra   sched/fair: Make ...
54
55
56
57
  /*
   * When doing wakeups, attempt to limit superfluous scans of the LLC domain.
   */
  SCHED_FEAT(SIS_AVG_CPU, false)
1ad3aaf3f   Peter Zijlstra   sched/core: Imple...
58
  SCHED_FEAT(SIS_PROP, true)
4c77b18cf   Peter Zijlstra   sched/fair: Make ...
59

26ae58d23   Peter Zijlstra   sched/core: Add W...
60
61
62
63
64
65
  /*
   * Issue a WARN when we do multiple update_rq_clock() calls
   * in a single rq->lock section. Default disabled because the
   * annotations are not complete.
   */
  SCHED_FEAT(WARN_DOUBLE_CLOCK, false)
b6366f048   Steven Rostedt   sched/rt: Use IPI...
66
67
68
69
70
71
72
73
74
75
76
77
  #ifdef HAVE_RT_PUSH_IPI
  /*
   * In order to avoid a thundering herd attack of CPUs that are
   * lowering their priorities at the same time, and there being
   * a single CPU that has an RT task that can migrate and is waiting
   * to run, where the other CPUs will try to take that CPUs
   * rq lock and possibly create a large contention, sending an
   * IPI to that CPU and let that CPU push the RT task to where
   * it should go may be a better scenario.
   */
  SCHED_FEAT(RT_PUSH_IPI, true)
  #endif
f8b6d1cc7   Peter Zijlstra   sched: Use jump_l...
78
  SCHED_FEAT(RT_RUNTIME_SHARE, true)
eb95308ee   Peter Zijlstra   sched: Fix more l...
79
  SCHED_FEAT(LB_MIN, false)
a9280514b   Peter Zijlstra   sched/fair: Make ...
80
  SCHED_FEAT(ATTACH_AGE_LOAD, true)
d153b1534   Peter Zijlstra   sched/core: Fix w...
81
  SCHED_FEAT(WA_IDLE, true)
f2cdd9cc6   Peter Zijlstra   sched/core: Addre...
82
83
  SCHED_FEAT(WA_WEIGHT, true)
  SCHED_FEAT(WA_BIAS, true)
7f65ea42e   Patrick Bellasi   sched/fair: Add u...
84
85
86
87
  
  /*
   * UtilEstimation. Use estimated CPU utilization.
   */
d519329f7   Patrick Bellasi   sched/fair: Updat...
88
  SCHED_FEAT(UTIL_EST, true)