Re: hackbench regression with 2.6.26-rc2 on tulsa machine

From: Zhang, Yanmin
Date: Wed May 21 2008 - 00:55:56 EST



On Tue, 2008-05-20 at 11:22 +0200, Mike Galbraith wrote:
> On Tue, 2008-05-20 at 16:09 +0800, Zhang, Yanmin wrote:
> > Comparing with 2.6.26-rc1, hackbench has about 30% regression with 2.6.26-rc2 on my tulsa machine
> > which is a netburst architecure hyper-threading x86_64.
> >
> > Command line to test: #hackbench 100 process 2000
> >
> > With ï2.6.26-rc1, it takes 30 seconds. But with 2.6.26-rc2/rc3, it takes 40 seconds.
> >
> > Bisect located below patch:
> > 46151122e0a2e80e5a6b2889f595e371fe2b600d is first bad commit
> > commit 46151122e0a2e80e5a6b2889f595e371fe2b600d
> > Author: Mike Galbraith <efault@xxxxxx>
> > Date: Thu May 8 17:00:42 2008 +0200
> >
> > sched: fix weight calculations
> >
> > The conversion between virtual and real time is as follows:
> >
> > dvt = rw/w * dt <=> dt = w/rw * dvt
> >
> > Since we want the fair sleeper granularity to be in real time, we actually
> > need to do:
> >
> > dvt = - rw/w * l
> >
> >
> >
> > The bisect steps look stable.
> >
> > On my core architecure machines(stoakley and tigerton), I do see improvement instead of regression,
> > like result from 31 seconds down to 28 seconds.
> >
> > I'm not sure if hyper-threading need more cares in this situation.
>
> Oh joy. I'll update my poor old P4 and see what I can duplicate this.
>
> Do you still have group scheduling enabled?
Yes.
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set

> If so, can you turn it off
> and try again? (when in doubt, grasp at any straw within reach;)
I reran the test for dozeons of times.
1) Background processes have impact on the result and cause result to fluctuate with 8~9 seconds;
2) After turning off most services (background processes), the result looks stable;
3) I tested both 2.6.26-rc1 and 2.6.26-rc2 with ïCONFIG_GROUP_SCHED=n. the first one's result
is about 30 seconds and the second one's result is about 31 seconds. So ïCONFIG_GROUP_SCHED is the key.

The previous results wree got with turning off most background processes.

I'm busy in other issues.

-yanmin


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/