Re: [RFC PATCH 00/19] Cleanup and optimise the page allocator V2

Lin Ming
2009-03-06T08:39:20Z

On Thu, 2009-03-05 at 18:34 +0800, Ingo Molnar wrote:
> * Zhang, Yanmin <yanmin_zhang@linux.intel.com> wrote:
>
> > On Wed, 2009-03-04 at 10:07 +0100, Nick Piggin wrote:
> > > On Wed, Mar 04, 2009 at 10:05:07AM +0800, Zhang, Yanmin wrote:
> > > > On Mon, 2009-03-02 at 11:21 +0000, Mel Gorman wrote:
> > > > > (Added Ingo as a second scheduler guy as there are queries on tg_shares_up)
> > > > >
> > > > > On Fri, Feb 27, 2009 at 04:44:43PM +0800, Lin Ming wrote:
> > > > > > On Thu, 2009-02-26 at 19:22 +0800, Mel Gorman wrote:
> > > > > > > In that case, Lin, could I also get the profiles for UDP-U-4K please so I
> > > > > > > can see how time is being spent and why it might have gotten worse?
> > > > > >
> > > > > > I have done the profiling (oltp and UDP-U-4K) with and without your v2
> > > > > > patches applied to 2.6.29-rc6.
> > > > > > I also enabled CONFIG_DEBUG_INFO so you can translate address to source
> > > > > > line with addr2line.
> > > > > >
> > > > > > You can download the oprofile data and vmlinux from below link,
> > > > > > http://www.filefactory.com/file/af2330b/
> > > > > >
> > > > >
> > > > > Perfect, thanks a lot for profiling this. It is a big help in figuring out
> > > > > how the allocator is actually being used for your workloads.
> > > > >
> > > > > The OLTP results had the following things to say about the page allocator.
> > > > In case we might mislead you guys, I want to clarify that here OLTP is
> > > > sysbench (oltp)+mysql, not the famous OLTP which needs lots of disks and big
> > > > memory.
> > > >
> > > > Ma Chinang, another Intel guy, does work on the famous OLTP running.
> > >
> > > OK, so my comments WRT cache sensitivity probably don't apply here,
> > > but probably cache hotness of pages coming out of the allocator
> > > might still be important for this one.
> > Yes. We need check it.
> >
> > >
> > > How many runs are you doing of these tests?
> > We start sysbench with different thread number, for example, 8 12 16 32 64 128 for
> > 4*4 tigerton, then get an average value in case there might be a scalability issue.
> >
> > As for this sysbench oltp testing, we reran it for 7 times on
> > tigerton this week and found the results have fluctuations.
> > Now we could only say there is a trend that the result with
> > the pathces is a little worse than the one without the
> > patches.
>
> Could you try "perfstat -s" perhaps and see whether any other of
> the metrics outside of tx/sec has less natural noise?

Thanks, I have used "perfstat -s" to collect cache misses data.

2.6.29-rc7-tip: tip/perfcounters/core (b5e8acf)
2.6.29-rc7-tip-mg2: v2 patches applied to tip/perfcounters/core

I collected 5 times netperf UDP-U-4k data with and without mg-v2 patches
applied to tip/perfcounters/core on a 4p quad-core tigerton machine, as
below
"value" means UDP-U-4k test result.

2.6.29-rc7-tip
---------------
value cache misses CPU migrations cachemisses/migrations
5329.71 391094656 1710 228710
5641.59 239552767 2138 112045
5580.87 132474745 2172 60992
5547.19 86911457 2099 41406
5626.38 196751217 2050 95976

2.6.29-rc7-tip-mg2
-------------------
value cache misses CPU migrations cachemisses/migrations
4749.80 649929463 1132 574142
4327.06 484100170 1252 386661
4649.51 374201508 1489 251310
5655.82 405511551 1848 219432
5571.58 90222256 2159 41788

Lin Ming

>
> I think a more invariant number might be the ratio of "LLC
> cachemisses" divided by "CPU migrations".
>
> The fluctuation in tx/sec comes from threads bouncing - but you
> can normalize that away by using the cachemisses/migrations
> ration.
>
> Perhaps. It's definitely a difficult thing to measure.
>
> Ingo