il.com&forum_name=scst-devel for more details.



git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@896 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Vladislav Bolkhovitin
2009-06-08 17:01:04 +00:00
parent 93b55b1368
commit 0bb8a456dd
6 changed files with 70 additions and 0 deletions

View 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'.

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);