aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_fair.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-02-01 10:25:09 +1100
committerLinus Torvalds <torvalds@linux-foundation.org>2008-02-01 10:25:09 +1100
commitfbdde7bd274d74729954190f99afcb1e3d9bbfba (patch)
treea72dadd4a8b4957a4e21bf7ae38a763a71d6e274 /kernel/sched_fair.c
parente1a9c9872dd004617555dff079b357a6ffd945e9 (diff)
parentc4772d99300a9fc13c86aaa370e630c5973664f6 (diff)
downloadkernel_replicant_linux-fbdde7bd274d74729954190f99afcb1e3d9bbfba.tar.gz
kernel_replicant_linux-fbdde7bd274d74729954190f99afcb1e3d9bbfba.tar.bz2
kernel_replicant_linux-fbdde7bd274d74729954190f99afcb1e3d9bbfba.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: debug: turn ignore_loglevel into an early param sched: remove unused params sched: let +nice tasks have smaller impact sched: fix high wake up latencies with FAIR_USER_SCHED RCU: add help text for "RCU implementation type"
Diffstat (limited to 'kernel/sched_fair.c')
-rw-r--r--kernel/sched_fair.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 72e25c7a3a18..6c091d6e159d 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -520,7 +520,7 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int initial)
if (!initial) {
/* sleeps upto a single latency don't count. */
- if (sched_feat(NEW_FAIR_SLEEPERS) && entity_is_task(se))
+ if (sched_feat(NEW_FAIR_SLEEPERS))
vruntime -= sysctl_sched_latency;
/* ensure we never gain time by being placed backwards. */
@@ -1106,7 +1106,11 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p)
}
gran = sysctl_sched_wakeup_granularity;
- if (unlikely(se->load.weight != NICE_0_LOAD))
+ /*
+ * More easily preempt - nice tasks, while not making
+ * it harder for + nice tasks.
+ */
+ if (unlikely(se->load.weight > NICE_0_LOAD))
gran = calc_delta_fair(gran, &se->load);
if (pse->vruntime + gran < se->vruntime)