[PATCH][BUG 10227] readahead ret value fix

Previous thread: [PATCH] Add pgprot_noncached() to UIO mmap code by Hans J. Koch on Friday, March 14, 2008 - 3:28 am. (1 message)

Next thread: Re: [ANNOUNCE] Ramback: faster than a speeding bullet by Benny Amorsen on Friday, March 14, 2008 - 4:41 am. (9 messages)
From: Dave Young
Date: Friday, March 14, 2008 - 3:49 am

If the page_offset > end_index, the return value should be updated to 0,
avoiding the redundant read_pages

Signed-off-by: Dave Young <hidave.darkstar@gmail.com>

---
mm/readahead.c |    4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff -upr linux/mm/readahead.c linux.new/mm/readahead.c
--- linux/mm/readahead.c	2008-03-14 18:38:12.000000000 +0800
+++ linux.new/mm/readahead.c	2008-03-14 18:38:58.000000000 +0800
@@ -144,8 +144,10 @@ __do_page_cache_readahead(struct address
 	for (page_idx = 0; page_idx < nr_to_read; page_idx++) {
 		pgoff_t page_offset = offset + page_idx;
 
-		if (page_offset > end_index)
+		if (page_offset > end_index) {
+			ret = 0;
 			break;
+		}
 
 		rcu_read_lock();
 		page = radix_tree_lookup(&mapping->page_tree, page_offset);
--

From: Dave Young
Date: Friday, March 14, 2008 - 4:08 am

It's not right at all,  sorry for the wrong quick patch.

Anyway, please see the following debug info of me
Mar 14 18:33:51 darkstar kernel: [   19.073085] 3c59x: Donald Becker and others.
Mar 14 18:34:39 darkstar kernel: [  117.837850] #0 page_offset : 0,
end_index : 2 ret: 0
Mar 14 18:34:39 darkstar kernel: [  117.837854] #1 page_offset : 0,
end_index : 2
Mar 14 18:34:39 darkstar kernel: [  117.837861] #0 page_offset : 1,
end_index : 2 ret: 1
Mar 14 18:34:39 darkstar kernel: [  117.837873] #1 page_offset : 1,
end_index : 2
Mar 14 18:34:39 darkstar kernel: [  117.837888] #0 page_offset : 2,
end_index : 2 ret: 2
Mar 14 18:34:39 darkstar kernel: [  117.837911] #1 page_offset : 2,
end_index : 2
Mar 14 18:34:39 darkstar kernel: [  117.837922] #0 page_offset : 3,
end_index : 2 ret: 3
Mar 14 18:34:40 darkstar kernel: [  118.051620] #0 page_offset : 3,
end_index : 2 ret: 0
Mar 14 18:34:40 darkstar kernel: [  118.051626] zisofs : req invalid
--

From: Fengguang Wu
Date: Friday, March 14, 2008 - 4:42 am

No, we don't need to fix it, hehe.
It's really trivial overhead.

The principle is to not add dispensable code :-)

Thank you,
Fengguang

--

Previous thread: [PATCH] Add pgprot_noncached() to UIO mmap code by Hans J. Koch on Friday, March 14, 2008 - 3:28 am. (1 message)

Next thread: Re: [ANNOUNCE] Ramback: faster than a speeding bullet by Benny Amorsen on Friday, March 14, 2008 - 4:41 am. (9 messages)