Subject: Re: 82xx performance

From: Arnd Bergmann <[email-masked]>
Date: Wed, 16 Jul 2008 23:45:26 +0200

On Wednesday 16 July 2008, Rune Torgersen wrote:
> Turns out the story is no so simple.
> I redid the test wih all versions of arch/ppc from 2.6.18 to 2.6.26, and
> also arch/powerpc (2.6.24 and 25, 26 doesn't compile because of binutil
> issues)
> 
> This time I made very sure that the tests were performed the same way,
> and I made a tabel showing relative performance:
> 
> kernel        compile time   rel   context switch  rel
> v2.6.18         01:13:33.70  1.00       7.2        1.00
> v2.6.19         01:13:29.21  1.00       7.1        0.99
> v2.6.20         01:13:29.58  1.00       2.8        0.39
> v2.6.21         01:13:24.91  1.00       8.1        1.13
> v2.6.22         01:13:42.72  1.00       4.5        0.63
> v2.6.23         01:15:16.43  1.02       17         2.36
> v2.6.24         01:15:30.90  1.03       20         2.78
> v2.6.25         01:14:51.21  1.02       21         2.92
> v2.6.26         01:14:34.76  1.01       23.8       3.31
> v2.6.24-powerpc 01:17:41.99  1.06       25.8       3.58
> v2.6.25-powerpc 01:18:10.10  1.06       35.7       4.96
> 
> This shows that arch/ppc no matter versin is fairly consistent in speed.
> Arch/powerpc is roughtly 6% worse.
> 
> The contect swith column is found running lat_ctx 2 from lmbench3, and
> should be in microsecs.

Ok, I think this could be related mostly to two changes:

* In 2.6.23, the process scheduler was replaced, the new one is the CFS,
the 'completely fair scheduler'. This has changed a lot of data.
To verify this, you could check out a git version just before and just
after CFS went in.

* Obviously, the 6 percent change between ppc and powerpc should not
be there. You can still try to use 'readprofile', or oprofile in
timer based mode (i.e. without HW performance counters) to get some
more data about where the time is spent on an identical kernel version.

	Arnd <><