Messages in this thread | | | Subject | Re: [PATCH] fix readahead breakage for sequential after random reads | From | Ram Pai <> | Date | 26 Jul 2004 21:18:47 -0700 |
| |
On Mon, 2004-07-26 at 17:08, Andrew Morton wrote: > Ram Pai <linuxram@us.ibm.com> wrote: > > > > Andrew, > > Yes the patch fixes a valid bug. > > > > Please don't top-post :( > > RP > > > > On Mon, 2004-07-26 at 16:29, Andrew Morton wrote: > > > Miklos Szeredi <miklos@szeredi.hu> wrote: > > > > > > > > Current readahead logic is broken when a random read pattern is > > > > followed by a long sequential read. The cause is that on a window > > > > miss ra->next_size is set to ra->average, but ra->average is only > > > > updated at the end of a sequence, so window size will remain 1 until > > > > the end of the sequential read. > > > > > > > > This patch fixes this by taking the current sequence length into > > > > account (code taken from towards end of page_cache_readahead()), and > > > > also setting ra->average to a decent value in handle_ra_miss() when > > > > sequential access is detected. > > > > > > Thanks. Do you have any performance testing results from this patch? > > > > > Ram Pai <linuxram@us.ibm.com> wrote: > > > > Andrew, > > Yes the patch fixes a valid bug. > > Fine, but the readahead code is performance-sensitive, and it takes quite > some time for any regressions to be discovered. So I'm going to need to > either sit on this patch for a very long time, or extensively test it > myself, or await convincing test results from someone else. > > Can you help with that?
yes I will run all my standard testsuites before we take this patch. (DSS workload, iozone, sysbench). I will get back with some results sooon. Probably by the end of this week.
Also I think the bug that Miklos, found is really hard to reproduce. Did he find this bug by code inspection? Its really really hard to get into a state where the current window is of size 1 page with zero pages in the readahead window, and then the sequential read pattern to just right then.
RP
>
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |