On Fri, Mar 16, 2018 at 11:25:08AM -0700, Wei Wang wrote: > From: Wei Wang <wvw@xxxxxxxxxx> > > Change VM_MAX_READAHEAD value from the default 128KB to a configurable > value. This will allow the readahead window to grow to a maximum size > bigger than 128KB during boot, which could benefit to sequential read > throughput and thus boot performance. Increase of readahead window was proposed several times. And rejected. IIRC, Linus was against it. What is different this time? > Signed-off-by: Wei Wang <wvw@xxxxxxxxxx> > --- > include/linux/mm.h | 2 +- > mm/Kconfig | 8 ++++++++ > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index ad06d42adb1a..d7dc6125833e 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -2291,7 +2291,7 @@ int __must_check write_one_page(struct page *page); > void task_dirty_inc(struct task_struct *tsk); > > /* readahead.c */ > -#define VM_MAX_READAHEAD 128 /* kbytes */ > +#define VM_MAX_READAHEAD CONFIG_VM_MAX_READAHEAD_KB > #define VM_MIN_READAHEAD 16 /* kbytes (includes current page) */ > > int force_page_cache_readahead(struct address_space *mapping, struct file *filp, > diff --git a/mm/Kconfig b/mm/Kconfig > index c782e8fb7235..da9ff543bdb9 100644 > --- a/mm/Kconfig > +++ b/mm/Kconfig > @@ -760,3 +760,11 @@ config GUP_BENCHMARK > performance of get_user_pages_fast(). > > See tools/testing/selftests/vm/gup_benchmark.c > + > +config VM_MAX_READAHEAD_KB > + int "Default max readahead window size in Kilobytes" > + default 128 > + help > + This sets the VM_MAX_READAHEAD value to allow the readahead window > + to grow to a maximum size of configured. Increasing this value will > + benefit sequential read throughput. > -- > 2.16.2.804.g6dcf76e118-goog > -- Kirill A. Shutemov