]> Git Repo - linux.git/commitdiff
mm/readahead.c: simplify get_next_ra_size()
authorGao Xiang <[email protected]>
Fri, 28 Dec 2018 08:33:34 +0000 (00:33 -0800)
committerLinus Torvalds <[email protected]>
Fri, 28 Dec 2018 20:11:46 +0000 (12:11 -0800)
It's a trivial simplification for get_next_ra_size() and clear enough for
humans to understand.

It also fixes potential overflow if ra->size(< ra_pages) is too large.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Gao Xiang <[email protected]>
Reviewed-by: Fengguang Wu <[email protected]>
Reviewed-by: Matthew Wilcox <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/readahead.c

index f3d6f9656a3cc83c93420210dd938b8d0b54648e..1ae16522412aee1430f112aa0fdf33e63b0c75ad 100644 (file)
@@ -270,17 +270,15 @@ static unsigned long get_init_ra_size(unsigned long size, unsigned long max)
  *  return it as the new window size.
  */
 static unsigned long get_next_ra_size(struct file_ra_state *ra,
-                                               unsigned long max)
+                                     unsigned long max)
 {
        unsigned long cur = ra->size;
-       unsigned long newsize;
 
        if (cur < max / 16)
-               newsize = 4 * cur;
-       else
-               newsize = 2 * cur;
-
-       return min(newsize, max);
+               return 4 * cur;
+       if (cur <= max / 2)
+               return 2 * cur;
+       return max;
 }
 
 /*
This page took 0.04783 seconds and 4 git commands to generate.