lkml.org 
[lkml]   [2006]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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/

\
 
 \ /
  Last update: 2006-02-27 16:46    [W:0.219 / U:0.288 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site