Messages in this thread Patch in this message | | | Subject | Re: PostgreSQL pgbench performance regression in 2.6.23+ | From | Mike Galbraith <> | Date | Fri, 23 May 2008 15:05:23 +0200 |
| |
On Fri, 2008-05-23 at 12:10 +0200, Ingo Molnar wrote:
> if it's other tweaks as well then could you perhaps try to make > SCHED_BATCH batch more agressively?
Running SCHED_BATCH with only the below put a large dent in the problem.
You can have tl <= current->se.load.weight. Nothing good happens in either case, at least with this load.
--- kernel/sched_fair.c.org 2008-05-23 14:59:39.000000000 +0200 +++ kernel/sched_fair.c 2008-05-23 14:49:05.000000000 +0200 @@ -1081,7 +1081,7 @@ wake_affine(struct rq *rq, struct sched_ * effect of the currently running task from the load * of the current CPU: */ - if (sync) + if (sync && tl > current->se.load.weight) tl -= current->se.load.weight; if ((tl <= load && tl + target_load(prev_cpu, idx) <= tl_per_task) ||
2.6.26-smp x86_64 1 9209.503213 2 15792.406916 3 23369.199181 4 23140.108032 5 24556.515470 6 24926.457776 8 26896.607558 10 27350.988396 15 29005.426298 20 28558.267290 30 27002.328374 40 25809.202374 50 24589.478654
| |