Re: [PATCH][2.6-mm] Readahead issues and AIO read speedup

From: Ram Pai
Date: Mon Sep 22 2003 - 19:42:35 EST


On Thu, 2003-08-07 at 13:58, Andrew Morton wrote:
> Badari Pulavarty <pbadari@xxxxxxxxxx> wrote:
> >
> > On Thursday 07 August 2003 10:39 am, Andrew Morton wrote:
> > > Badari Pulavarty <pbadari@xxxxxxxxxx> wrote:
> > > > We should do readahead of actual pages required by the current
> > > > read would be correct solution. (like Suparna suggested).
> > >
> > > I repeat: what will be the effect of this if all those pages are already in
> > > pagecache?
> >
> > Hmm !! Do you think just peeking at pagecache and bailing out if
> > nothing needed to be done, is too expensive ? Anyway, slow read
> > code has to do this later. Doing it in readahead one more time causes
> > significant perf. hit ?
>
> It has been observed, yes.

we found substantial improvements (around 20% )in Database decision
support work load on Filesystems.

To address your concern regarding possible SDET regression generated by
this patch, we (Steve Pratt) ran a bunch of regression tests on
2.6.0test5-mm2(with and without the patch). I have pasted the results of
SDET and Kernel Bench. We did not find any noticable performance
regression.


Here are some results from Steve on test5-mm2
**************************************************************************


sdet comparison
of
2.6.0-test5-mm2 vs 2.6.0-test5mm2-without-READAHEAD-patch


Results:Throughput

tolerance = 0.00 + 3.00% of 2.6.0-test5-mm2
2.6.0-test5-mm2 2.6.0-test5mm2-without-READAHEAD
Threads Ops/sec Ops/sec %diff diff tolerance
---------- ------------ ------------ -------- ------------ ------------
1 3089 3103 0.45 14.00 92.67
4 11181 11294 1.01 113.00 335.43
16 18436 18530 0.51 94.00 553.08
64 18867 19002 0.72 135.00 566.01

****************************************************************************
**************************************************************************
kernbench comparison
of
2.6.0-test5-mm2 vs 2.6.0-test5mm2-without-READAHEAD


Results:Elapsed Time
tolerance = 0.00 + 3.00% of 2.6.0-test5-mm2
2.6.0-test5-mm2 2.6.0-test5mm2-without-READAHEAD
Seconds Seconds %diff diff tolerance
---------- ------------ ------------ -------- ------------ ------------
2 96.015 95.035 -1.02 -0.98 2.88

**************************************************************************

Would you like us to run some other tests?

Thanks,
RP



>
> > And also, do you think this is the most common case ?
>
> It is a very common case. It's one we need to care for. Especially when
> lots of CPUs are hitting the same file.
>
> There are things we can do to tweak it up, such as adding a max_index to
> find_get_pages(), then do multipage lookups, etc. But not doing it at all
> is always the fastest way.
> -
> 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/
>

-
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/