* [PATCH] mm: double mark_page_accessed() in read_cache_page_async()
@ 2007-07-06 16:03 Peter Zijlstra
2007-07-06 22:56 ` Andrew Morton
0 siblings, 1 reply; 2+ messages in thread
From: Peter Zijlstra @ 2007-07-06 16:03 UTC (permalink / raw)
To: Andrew Morton, linux-kernel; +Cc: Nick Piggin, riel
read_cache_page_async() seems to have two invocations of
mark_page_accessed() which will launch pages right onto the active list.
Remove the first one, keeping the latter one. This avoids marking
unwanted pages active (in the retry loop).
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
mm/filemap.c | 1 -
1 file changed, 1 deletion(-)
Index: linux-2.6/mm/filemap.c
===================================================================
--- linux-2.6.orig/mm/filemap.c
+++ linux-2.6/mm/filemap.c
@@ -1588,7 +1588,6 @@ retry:
page = __read_cache_page(mapping, index, filler, data);
if (IS_ERR(page))
return page;
- mark_page_accessed(page);
if (PageUptodate(page))
goto out;
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] mm: double mark_page_accessed() in read_cache_page_async()
2007-07-06 16:03 [PATCH] mm: double mark_page_accessed() in read_cache_page_async() Peter Zijlstra
@ 2007-07-06 22:56 ` Andrew Morton
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2007-07-06 22:56 UTC (permalink / raw)
To: Peter Zijlstra; +Cc: linux-kernel, Nick Piggin, riel
On Fri, 06 Jul 2007 18:03:54 +0200
Peter Zijlstra <peterz@infradead.org> wrote:
> read_cache_page_async() seems to have two invocations of
> mark_page_accessed() which will launch pages right onto the active list.
>
> Remove the first one, keeping the latter one. This avoids marking
> unwanted pages active (in the retry loop).
>
> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> ---
> mm/filemap.c | 1 -
> 1 file changed, 1 deletion(-)
>
> Index: linux-2.6/mm/filemap.c
> ===================================================================
> --- linux-2.6.orig/mm/filemap.c
> +++ linux-2.6/mm/filemap.c
> @@ -1588,7 +1588,6 @@ retry:
> page = __read_cache_page(mapping, index, filler, data);
> if (IS_ERR(page))
> return page;
> - mark_page_accessed(page);
> if (PageUptodate(page))
> goto out;
>
>
Thanks for catching this. It is a post-2.6.21 regression.
We cannot afford to do stuff like this.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-07-06 22:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-07-06 16:03 [PATCH] mm: double mark_page_accessed() in read_cache_page_async() Peter Zijlstra
2007-07-06 22:56 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®