Messages in this thread | | | Date | Mon, 27 Feb 2006 09:41:59 -0600 | From | Steven Pratt <> | Subject | Re: [PATCH] readahead: fix initial window size calculation |
| |
Oleg Nesterov wrote:
>(I hope it is ok to send this patch without Steven's reply) > >
Yes, It is fine.
>From: Steven Pratt <slpratt@austin.ibm.com> > >The current current get_init_ra_size is not optimal across different IO >sizes and max_readahead values. Here is a quick summary of sizes >computed under current design and under the attached patch. All of >these assume 1st IO at offset 0, or 1st detected sequential IO. > >32k max, 4k request > >old new >----------------- > 8k 8k >16k 16k >32k 32k > >128k max, 4k request >old new >----------------- >32k 16k >64k 32k >128k 64k >128k 128k > >128k max, 32k request >old new >----------------- >32k 64k <----- >64k 128k >128k 128k > >512k max, 4k request >old new >----------------- >4k 32k <---- >16k 64k >64k 128k >128k 256k >512k 512k > >--- 2.6.16-rc3/mm/readahead.c~ 2006-02-27 00:53:17.881019192 +0300 >+++ 2.6.16-rc3/mm/readahead.c 2006-02-27 01:10:39.172718792 +0300 >@@ -83,10 +83,10 @@ static unsigned long get_init_ra_size(un > { > unsigned long newsize = roundup_pow_of_two(size); > >- if (newsize <= max / 64) >- newsize = newsize * newsize; >+ if (newsize <= max / 32) >+ newsize = newsize * 4; > else if (newsize <= max / 4) >- newsize = max / 4; >+ newsize = newsize * 2; > else > newsize = max; > return newsize; > >
- 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/
| |