Re: [PATCH] mm: add config for readahead window

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Android devices boot time benefits by bigger readahead window setting from init. This patch will make readahead window a config so early boot can benefit by it as well.


On Fri, Mar 16, 2018 at 11:25 AM Wei Wang <wvw@xxxxxxxxxx> 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.

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


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux