projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3925e6f
)
sched: re-do "sched: fix fair sleepers"
author
Ingo Molnar
<
[email protected]
>
Mon, 14 Apr 2008 06:53:32 +0000
(08:53 +0200)
committer
Ingo Molnar
<
[email protected]
>
Sat, 19 Apr 2008 17:44:57 +0000
(19:44 +0200)
re-apply:
| commit
e22ecef1d2658ba54ed7d3fdb5d60829fb434c23
| Author: Ingo Molnar <
[email protected]
>
| Date: Fri Mar 14 22:16:08 2008 +0100
|
| sched: fix fair sleepers
|
| Fair sleepers need to scale their latency target down by runqueue
| weight. Otherwise busy systems will gain ever larger sleep bonus.
Signed-off-by: Ingo Molnar <
[email protected]
>
kernel/sched_fair.c
patch
|
blob
|
history
diff --git
a/kernel/sched_fair.c
b/kernel/sched_fair.c
index 0080968d3e4a88e883a7905f409e22013abc8d55..86a93376282c2e43773dba5d6a11762e111a5eb6 100644
(file)
--- a/
kernel/sched_fair.c
+++ b/
kernel/sched_fair.c
@@
-510,8
+510,10
@@
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))
- vruntime -= sysctl_sched_latency;
+ if (sched_feat(NEW_FAIR_SLEEPERS)) {
+ vruntime -= calc_delta_fair(sysctl_sched_latency,
+ &cfs_rq->load);
+ }
/* ensure we never gain time by being placed backwards. */
vruntime = max_vruntime(se->vruntime, vruntime);