aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_features.h
diff options
context:
space:
mode:
authorMike Galbraith <efault@gmx.de>2010-03-11 11:15:51 -0500
committerIngo Molnar <mingo@elte.hu>2010-03-11 12:32:50 -0500
commite12f31d3e5d36328c7fbd0fce40a95e70b59152c (patch)
tree3eaee7fede5ba830395d2e527fdfe60f1aba73f4 /kernel/sched_features.h
parentb42e0c41a422a212ddea0666d5a3a0e3c35206db (diff)
sched: Remove avg_overlap
Both avg_overlap and avg_wakeup had an inherent problem in that their accuracy was detrimentally affected by cross-cpu wakeups, this because we are missing the necessary call to update_curr(). This can't be fixed without increasing overhead in our already too fat fastpath. Additionally, with recent load balancing changes making us prefer to place tasks in an idle cache domain (which is good for compute bound loads), communicating tasks suffer when a sync wakeup, which would enable affine placement, is turned into a non-sync wakeup by SYNC_LESS. With one task on the runqueue, wake_affine() rejects the affine wakeup request, leaving the unfortunate where placed, taking frequent cache misses. Remove it, and recover some fastpath cycles. Signed-off-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <1268301121.6785.30.camel@marge.simson.net> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched_features.h')
-rw-r--r--kernel/sched_features.h16
1 files changed, 0 insertions, 16 deletions
diff --git a/kernel/sched_features.h b/kernel/sched_features.h
index 96ef5dbc66e1..c545e048dfed 100644
--- a/kernel/sched_features.h
+++ b/kernel/sched_features.h
@@ -42,12 +42,6 @@ SCHED_FEAT(ASYM_GRAN, 1)
42SCHED_FEAT(WAKEUP_SYNC, 0) 42SCHED_FEAT(WAKEUP_SYNC, 0)
43 43
44/* 44/*
45 * Wakeup preempt based on task behaviour. Tasks that do not overlap
46 * don't get preempted.
47 */
48SCHED_FEAT(WAKEUP_OVERLAP, 0)
49
50/*
51 * Use the SYNC wakeup hint, pipes and the likes use this to indicate 45 * Use the SYNC wakeup hint, pipes and the likes use this to indicate
52 * the remote end is likely to consume the data we just wrote, and 46 * the remote end is likely to consume the data we just wrote, and
53 * therefore has cache benefit from being placed on the same cpu, see 47 * therefore has cache benefit from being placed on the same cpu, see
@@ -64,16 +58,6 @@ SCHED_FEAT(SYNC_WAKEUPS, 1)
64SCHED_FEAT(AFFINE_WAKEUPS, 1) 58SCHED_FEAT(AFFINE_WAKEUPS, 1)
65 59
66/* 60/*
67 * Weaken SYNC hint based on overlap
68 */
69SCHED_FEAT(SYNC_LESS, 1)
70
71/*
72 * Add SYNC hint based on overlap
73 */
74SCHED_FEAT(SYNC_MORE, 0)
75
76/*
77 * Prefer to schedule the task we woke last (assuming it failed 61 * Prefer to schedule the task we woke last (assuming it failed
78 * wakeup-preemption), since its likely going to consume data we 62 * wakeup-preemption), since its likely going to consume data we
79 * touched, increases cache locality. 63 * touched, increases cache locality.