The patch titled readahead: initial method - guiding sizes has been added to the -mm tree. Its filename is readahead-initial-method-guiding-sizes.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: readahead: initial method - guiding sizes From: Wu Fengguang <wfg@xxxxxxxxxxxxxxxx> Introduce three guiding sizes for the initial readahead method. - ra_pages0: recommended readahead on start-of-file - ra_expect_bytes: expected read size on start-of-file - ra_thrash_bytes: estimated thrashing threshold Signed-off-by: Wu Fengguang <wfg@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- block/ll_rw_blk.c | 4 +--- include/linux/backing-dev.h | 3 +++ mm/readahead.c | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff -puN block/ll_rw_blk.c~readahead-initial-method-guiding-sizes block/ll_rw_blk.c --- devel/block/ll_rw_blk.c~readahead-initial-method-guiding-sizes 2006-05-27 23:06:30.000000000 -0700 +++ devel-akpm/block/ll_rw_blk.c 2006-05-27 23:06:30.000000000 -0700 @@ -249,9 +249,6 @@ void blk_queue_make_request(request_queu blk_queue_max_phys_segments(q, MAX_PHYS_SEGMENTS); blk_queue_max_hw_segments(q, MAX_HW_SEGMENTS); q->make_request_fn = mfn; - q->backing_dev_info.ra_pages = (VM_MAX_READAHEAD * 1024) / PAGE_CACHE_SIZE; - q->backing_dev_info.state = 0; - q->backing_dev_info.capabilities = BDI_CAP_MAP_COPY; blk_queue_max_sectors(q, SAFE_MAX_SECTORS); blk_queue_hardsect_size(q, 512); blk_queue_dma_alignment(q, 511); @@ -1849,6 +1846,7 @@ request_queue_t *blk_alloc_queue_node(gf q->kobj.ktype = &queue_ktype; kobject_init(&q->kobj); + q->backing_dev_info = default_backing_dev_info; q->backing_dev_info.unplug_io_fn = blk_backing_dev_unplug; q->backing_dev_info.unplug_io_data = q; diff -puN include/linux/backing-dev.h~readahead-initial-method-guiding-sizes include/linux/backing-dev.h --- devel/include/linux/backing-dev.h~readahead-initial-method-guiding-sizes 2006-05-27 23:06:30.000000000 -0700 +++ devel-akpm/include/linux/backing-dev.h 2006-05-27 23:06:30.000000000 -0700 @@ -24,6 +24,9 @@ typedef int (congested_fn)(void *, int); struct backing_dev_info { unsigned long ra_pages; /* max readahead in PAGE_CACHE_SIZE units */ + unsigned long ra_pages0; /* recommended readahead on start of file */ + unsigned long ra_expect_bytes; /* expected read size on start of file */ + unsigned long ra_thrash_bytes; /* thrashing threshold */ unsigned long state; /* Always use atomic bitops on this */ unsigned int capabilities; /* Device capabilities */ congested_fn *congested_fn; /* Function pointer if device is md/dm */ diff -puN mm/readahead.c~readahead-initial-method-guiding-sizes mm/readahead.c --- devel/mm/readahead.c~readahead-initial-method-guiding-sizes 2006-05-27 23:06:30.000000000 -0700 +++ devel-akpm/mm/readahead.c 2006-05-27 23:06:30.000000000 -0700 @@ -121,6 +121,9 @@ EXPORT_SYMBOL(default_unplug_io_fn); struct backing_dev_info default_backing_dev_info = { .ra_pages = MAX_RA_PAGES, + .ra_pages0 = (128*1024) / PAGE_CACHE_SIZE, + .ra_expect_bytes = VM_MIN_READAHEAD*1024, + .ra_thrash_bytes = VM_MIN_READAHEAD*1024, .state = 0, .capabilities = BDI_CAP_MAP_COPY, .unplug_io_fn = default_unplug_io_fn, _ Patches currently in -mm which might be from wfg@xxxxxxxxxxxxxxxx are readahead-kconfig-options.patch radixtree-introduce-radix_tree_scan_hole.patch mm-introduce-probe_page.patch mm-introduce-pg_readahead.patch readahead-add-look-ahead-support-to-__do_page_cache_readahead.patch readahead-delay-page-release-in-do_generic_mapping_read.patch readahead-insert-cond_resched-calls.patch readahead-minmax_ra_pages.patch readahead-events-accounting.patch readahead-rescue_pages.patch readahead-sysctl-parameters.patch readahead-min-max-sizes.patch readahead-state-based-method-aging-accounting.patch readahead-state-based-method-routines.patch readahead-state-based-method.patch readahead-context-based-method.patch readahead-initial-method-guiding-sizes.patch readahead-initial-method-thrashing-guard-size.patch readahead-initial-method-expected-read-size.patch readahead-initial-method-user-recommended-size.patch readahead-initial-method.patch readahead-backward-prefetching-method.patch readahead-seeking-reads-method.patch readahead-thrashing-recovery-method.patch readahead-call-scheme.patch readahead-laptop-mode.patch readahead-loop-case.patch readahead-nfsd-case.patch readahead-turn-on-by-default.patch readahead-debug-radix-tree-new-functions.patch readahead-debug-traces-showing-accessed-file-names.patch readahead-debug-traces-showing-read-patterns.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html