readahead patches added. See http://sourceforge.net/mailarchive/forum.php?thread_name...
authorvlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Mon, 8 Jun 2009 17:01:04 +0000 (17:01 +0000)
committervlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Mon, 8 Jun 2009 17:01:04 +0000 (17:01 +0000)
il.com&forum_name=scst-devel for more details.

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@896 d57e44dd-8a1f-0410-8b47-8ef2f437770f

scst/README
scst/kernel/readahead-2.6.25.patch [new file with mode: 0644]
scst/kernel/readahead-2.6.26.patch [new file with mode: 0644]
scst/kernel/readahead-2.6.27.patch [new file with mode: 0644]
scst/kernel/readahead-2.6.28.patch [new file with mode: 0644]
scst/kernel/readahead-2.6.29.patch [new file with mode: 0644]

index 8fc5ba9..e8b49ab 100644 (file)
@@ -79,6 +79,11 @@ using a pool of IO threads. It is considerably better for performance
 IO context. This patch allows that. If you don't apply this patch, you
 will loose this performance benefit.
 
+3. readahead-2.6.X.patch. This patch fixes problem in Linux readahead
+subsystem and greatly improves performance for software RAIDs. See
+http://sourceforge.net/mailarchive/forum.php?thread_name=a0272b440906030714g67eabc5k8f847fb1e538cc62%40mail.gmail.com&forum_name=scst-devel
+thread for more details.
+
 Then, to compile SCST type 'make scst'. It will build SCST itself and its
 device handlers. To install them type 'make scst_install'. The driver
 modules will be installed in '/lib/modules/`you_kernel_version`/extra'.
diff --git a/scst/kernel/readahead-2.6.25.patch b/scst/kernel/readahead-2.6.25.patch
new file mode 100644 (file)
index 0000000..87ab0bf
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/mm/readahead.c b/mm/readahead.c
+index 133b6d5..fd3df66 100644
+--- a/mm/readahead.c
++++ b/mm/readahead.c
+@@ -473,5 +473,8 @@ page_cache_async_readahead(struct address_space *mapping,
+       /* do read-ahead */
+       ondemand_readahead(mapping, ra, filp, true, offset, req_size);
++
++      if (PageUptodate(page))
++              blk_run_backing_dev(mapping->backing_dev_info, NULL);           
+ }
+ EXPORT_SYMBOL_GPL(page_cache_async_readahead);
diff --git a/scst/kernel/readahead-2.6.26.patch b/scst/kernel/readahead-2.6.26.patch
new file mode 100644 (file)
index 0000000..c62905a
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/mm/readahead.c b/mm/readahead.c
+index 133b6d5..fd3df66 100644
+--- a/mm/readahead.c
++++ b/mm/readahead.c
+@@ -479,5 +479,8 @@ page_cache_async_readahead(struct address_space *mapping,
+       /* do read-ahead */
+       ondemand_readahead(mapping, ra, filp, true, offset, req_size);
++
++      if (PageUptodate(page))
++              blk_run_backing_dev(mapping->backing_dev_info, NULL);           
+ }
+ EXPORT_SYMBOL_GPL(page_cache_async_readahead);
diff --git a/scst/kernel/readahead-2.6.27.patch b/scst/kernel/readahead-2.6.27.patch
new file mode 100644 (file)
index 0000000..c62905a
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/mm/readahead.c b/mm/readahead.c
+index 133b6d5..fd3df66 100644
+--- a/mm/readahead.c
++++ b/mm/readahead.c
+@@ -479,5 +479,8 @@ page_cache_async_readahead(struct address_space *mapping,
+       /* do read-ahead */
+       ondemand_readahead(mapping, ra, filp, true, offset, req_size);
++
++      if (PageUptodate(page))
++              blk_run_backing_dev(mapping->backing_dev_info, NULL);           
+ }
+ EXPORT_SYMBOL_GPL(page_cache_async_readahead);
diff --git a/scst/kernel/readahead-2.6.28.patch b/scst/kernel/readahead-2.6.28.patch
new file mode 100644 (file)
index 0000000..c62905a
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/mm/readahead.c b/mm/readahead.c
+index 133b6d5..fd3df66 100644
+--- a/mm/readahead.c
++++ b/mm/readahead.c
+@@ -479,5 +479,8 @@ page_cache_async_readahead(struct address_space *mapping,
+       /* do read-ahead */
+       ondemand_readahead(mapping, ra, filp, true, offset, req_size);
++
++      if (PageUptodate(page))
++              blk_run_backing_dev(mapping->backing_dev_info, NULL);           
+ }
+ EXPORT_SYMBOL_GPL(page_cache_async_readahead);
diff --git a/scst/kernel/readahead-2.6.29.patch b/scst/kernel/readahead-2.6.29.patch
new file mode 100644 (file)
index 0000000..c62905a
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/mm/readahead.c b/mm/readahead.c
+index 133b6d5..fd3df66 100644
+--- a/mm/readahead.c
++++ b/mm/readahead.c
+@@ -479,5 +479,8 @@ page_cache_async_readahead(struct address_space *mapping,
+       /* do read-ahead */
+       ondemand_readahead(mapping, ra, filp, true, offset, req_size);
++
++      if (PageUptodate(page))
++              blk_run_backing_dev(mapping->backing_dev_info, NULL);           
+ }
+ EXPORT_SYMBOL_GPL(page_cache_async_readahead);