patch-2.0.9 linux/mm/filemap.c
Next file: linux/mm/memory.c
Previous file: linux/ipc/shm.c
Back to the patch index
Back to the overall index
- Lines: 34
- Date:
Tue Jul 23 10:26:40 1996
- Orig file:
v2.0.8/linux/mm/filemap.c
- Orig date:
Tue Jul 23 08:23:15 1996
diff -u --recursive --new-file v2.0.8/linux/mm/filemap.c linux/mm/filemap.c
@@ -415,7 +415,7 @@
* Reasonable means, in this context, not too large but not too small.
* The actual maximum value is:
* MAX_READAHEAD + PAGE_SIZE = 76k is CONFIG_READA_SMALL is undefined
- * and 32K if defined.
+ * and 32K if defined (4K page size assumed).
*
* Asynchronous read-ahead benefits:
* ---------------------------------
@@ -442,15 +442,17 @@
* - The total memory pool usage for the file access stream.
* This maximum memory usage is implicitly 2 IO read chunks:
* 2*(MAX_READAHEAD + PAGE_SIZE) = 156K if CONFIG_READA_SMALL is undefined,
- * 64k if defined.
+ * 64k if defined (4K page size assumed).
*/
-#if 0 /* small readahead */
-#define MAX_READAHEAD (PAGE_SIZE*7)
-#define MIN_READAHEAD (PAGE_SIZE*2)
-#else
-#define MAX_READAHEAD (PAGE_SIZE*18)
-#define MIN_READAHEAD (PAGE_SIZE*3)
+#define PageAlignSize(size) (((size) + PAGE_SIZE -1) & PAGE_MASK)
+
+#if 0 /* small readahead */
+#define MAX_READAHEAD PageAlignSize(4096*7)
+#define MIN_READAHEAD PageAlignSize(4096*2)
+#else /* large readahead */
+#define MAX_READAHEAD PageAlignSize(4096*18)
+#define MIN_READAHEAD PageAlignSize(4096*3)
#endif
static inline unsigned long generic_file_readahead(int reada_ok, struct file * filp, struct inode * inode,
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov