[PATCH 19/23] readahead: loop case

From: Wu Fengguang
Date: Sat Mar 18 2006 - 21:40:39 EST


Disable look-ahead for loop file.

Loopback files normally contain filesystems, in which case there are already
proper look-aheads in the upper layer, more look-aheads on the loopback file
only ruins the read-ahead hit rate.

Signed-off-by: Wu Fengguang <wfg@xxxxxxxxxxxxxxxx>
---

I'd like to thank Tero Grundstr?m for uncovering the loopback problem.

drivers/block/loop.c | 6 ++++++
1 files changed, 6 insertions(+)

--- linux-2.6.16-rc6-mm2.orig/drivers/block/loop.c
+++ linux-2.6.16-rc6-mm2/drivers/block/loop.c
@@ -779,6 +779,12 @@ static int loop_set_fd(struct loop_devic
mapping = file->f_mapping;
inode = mapping->host;

+ /*
+ * The upper layer should already do proper look-ahead,
+ * one more look-ahead here only ruins the cache hit rate.
+ */
+ file->f_ra.flags |= RA_FLAG_NO_LOOKAHEAD;
+
if (!(file->f_mode & FMODE_WRITE))
lo_flags |= LO_FLAGS_READ_ONLY;


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