Commit 13814d42e45dfbe845a0bbe5184565d9236896ae
Committed by
Ingo Molnar
1 parent
c6ee36c423
Exists in
master
and in
7 other branches
sched: Remove ASYM_GRAN feature
This features has been enabled for quite a while, after testing showed that easing preemption for light tasks was harmful to high priority threads. Remove the feature flag. Signed-off-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <1268301675.6785.44.camel@marge.simson.net> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Showing 2 changed files with 11 additions and 23 deletions Side-by-side Diff
kernel/sched_fair.c
... | ... | @@ -1583,24 +1583,18 @@ |
1583 | 1583 | /* |
1584 | 1584 | * Since its curr running now, convert the gran from real-time |
1585 | 1585 | * to virtual-time in his units. |
1586 | + * | |
1587 | + * By using 'se' instead of 'curr' we penalize light tasks, so | |
1588 | + * they get preempted easier. That is, if 'se' < 'curr' then | |
1589 | + * the resulting gran will be larger, therefore penalizing the | |
1590 | + * lighter, if otoh 'se' > 'curr' then the resulting gran will | |
1591 | + * be smaller, again penalizing the lighter task. | |
1592 | + * | |
1593 | + * This is especially important for buddies when the leftmost | |
1594 | + * task is higher priority than the buddy. | |
1586 | 1595 | */ |
1587 | - if (sched_feat(ASYM_GRAN)) { | |
1588 | - /* | |
1589 | - * By using 'se' instead of 'curr' we penalize light tasks, so | |
1590 | - * they get preempted easier. That is, if 'se' < 'curr' then | |
1591 | - * the resulting gran will be larger, therefore penalizing the | |
1592 | - * lighter, if otoh 'se' > 'curr' then the resulting gran will | |
1593 | - * be smaller, again penalizing the lighter task. | |
1594 | - * | |
1595 | - * This is especially important for buddies when the leftmost | |
1596 | - * task is higher priority than the buddy. | |
1597 | - */ | |
1598 | - if (unlikely(se->load.weight != NICE_0_LOAD)) | |
1599 | - gran = calc_delta_fair(gran, se); | |
1600 | - } else { | |
1601 | - if (unlikely(curr->load.weight != NICE_0_LOAD)) | |
1602 | - gran = calc_delta_fair(gran, curr); | |
1603 | - } | |
1596 | + if (unlikely(se->load.weight != NICE_0_LOAD)) | |
1597 | + gran = calc_delta_fair(gran, se); | |
1604 | 1598 | |
1605 | 1599 | return gran; |
1606 | 1600 | } |
kernel/sched_features.h
... | ... | @@ -17,12 +17,6 @@ |
17 | 17 | SCHED_FEAT(WAKEUP_PREEMPT, 1) |
18 | 18 | |
19 | 19 | /* |
20 | - * When converting the wakeup granularity to virtual time, do it such | |
21 | - * that heavier tasks preempting a lighter task have an edge. | |
22 | - */ | |
23 | -SCHED_FEAT(ASYM_GRAN, 1) | |
24 | - | |
25 | -/* | |
26 | 20 | * Based on load and program behaviour, see if it makes sense to place |
27 | 21 | * a newly woken task on the same cpu as the task that woke it -- |
28 | 22 | * improve cache locality. Typically used with SYNC wakeups as |