Messages in this thread Patch in this message | | | Subject | RE: Mainline kernel OLTP performance update | From | Chris Mason <> | Date | Mon, 19 Jan 2009 13:04:51 -0500 |
| |
On Thu, 2009-01-15 at 00:11 -0700, Ma, Chinang wrote: > >> > > > > > >> > > > > Linux OLTP Performance summary > >> > > > > Kernel# Speedup(x) Intr/s CtxSw/s us% sys% idle% > >iowait% > >> > > > > 2.6.24.2 1.000 21969 43425 76 24 0 > >0 > >> > > > > 2.6.27.2 0.973 30402 43523 74 25 0 > >1 > >> > > > > 2.6.29-rc1 0.965 30331 41970 74 26 0 > >0 > >> > > >> > > But the interrupt rate went through the roof. > >> > > >> > Yes. I forget why that was; I'll have to dig through my archives for > >> > that. > >> > >> Oh. I'd have thought that this alone could account for 3.5%.
A later email indicated the reschedule interrupt count doubled since 2.6.24, and so I poked around a bit at the causes of resched_task.
I think the -rt version of check_preempt_equal_prio has gotten much more expensive since 2.6.24.
I'm sure these changes were made for good reasons, and this workload may not be a good reason to change it back. But, what does the patch below do to performance on 2.6.29-rcX?
-chris
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index 954e1a8..bbe3492 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -842,6 +842,7 @@ static void check_preempt_curr_rt(struct rq *rq, struct task_struct *p, int sync resched_task(rq->curr); return; } + return; #ifdef CONFIG_SMP /*
| |