All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michel Lespinasse <walken@google.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Rik van Riel <riel@redhat.com>
Subject: Re: [PATCH 2/3] Retry page fault when blocking on disk transfer.
Date: Tue, 2 Nov 2010 13:05:18 -0700	[thread overview]
Message-ID: <20101102200518.GA9229@google.com> (raw)
In-Reply-To: <20101009012204.GA17458@google.com>

On Fri, Oct 08, 2010 at 06:22:04PM -0700, Michel Lespinasse wrote:
> Second try on adding the VM_FAULT_RETRY functionality to the swap in path.
> 
> This proposal would replace [patch 2/3] of this series (the initial
> version of it, which was approved by linus / rik / hpa).

Oh my. I've been evidently sloppy while merging the filemap and swap
versions of lock_page_or_retry(), and this issue slipped in...

Please apply attached change. Sorry for not catching this earlier :(

----------------------------- 8< --------------------------------

Release page reference during page fault retry

This slipped by when unifying the filemap and swap versions of
lock_page_or_retry()...

Signed-off-by: Michel Lespinasse <walken@google.com>
    
diff --git a/mm/filemap.c b/mm/filemap.c
index 33f8125..c479d9c 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1563,8 +1563,10 @@ retry_find:
 			goto no_cached_page;
 	}
 
-	if (!lock_page_or_retry(page, vma->vm_mm, vmf->flags))
+	if (!lock_page_or_retry(page, vma->vm_mm, vmf->flags)) {
+		page_cache_release(page);
 		return ret | VM_FAULT_RETRY;
+	}
 
 	/* Did it get truncated? */
 	if (unlikely(page->mapping != mapping)) {

-- 
Michel "Walken" Lespinasse
A program is never fully debugged until the last user dies.

  parent reply	other threads:[~2010-11-02 20:05 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-05  7:53 [PATCH 0/3] V2: Reduce mmap_sem hold times during file backed page faults Michel Lespinasse
2010-10-05  7:53 ` Michel Lespinasse
2010-10-05  7:53 ` [PATCH 1/3] filemap_fault: unique path for locking page Michel Lespinasse
2010-10-05  7:53   ` Michel Lespinasse
2010-10-05 17:07   ` Rik van Riel
2010-10-05 17:07     ` Rik van Riel
2010-10-05  7:53 ` [PATCH 2/3] Retry page fault when blocking on disk transfer Michel Lespinasse
2010-10-05  7:53   ` Michel Lespinasse
2010-10-05 17:33   ` Linus Torvalds
2010-10-05 17:33     ` Linus Torvalds
2010-10-05 17:38   ` Rik van Riel
2010-10-05 17:38     ` Rik van Riel
2010-10-05 22:44     ` Michel Lespinasse
2010-10-05 22:44       ` Michel Lespinasse
2010-10-08  4:39       ` Michel Lespinasse
2010-10-08  4:39         ` Michel Lespinasse
2010-10-08 13:24         ` Rik van Riel
2010-10-08 13:24           ` Rik van Riel
2010-10-08 20:06           ` Michel Lespinasse
2010-10-08 20:06             ` Michel Lespinasse
2010-10-09  1:22             ` Michel Lespinasse
2010-10-09  1:22               ` Michel Lespinasse
2010-10-11 22:25               ` Andrew Morton
2010-10-11 22:25                 ` Andrew Morton
2010-10-11 22:43                 ` Michel Lespinasse
2010-10-11 22:43                   ` Michel Lespinasse
2010-10-13 23:17               ` Andrew Morton
2010-10-13 23:17                 ` Andrew Morton
2010-11-02 20:05               ` Michel Lespinasse [this message]
2010-11-02 20:11                 ` Rik van Riel
2010-10-06  4:02   ` H. Peter Anvin
2010-10-06  4:02     ` H. Peter Anvin
2010-10-05  7:53 ` [PATCH 3/3] access_error API cleanup Michel Lespinasse
2010-10-05  7:53   ` Michel Lespinasse
2010-10-05 19:44   ` Rik van Riel
2010-10-05 19:44     ` Rik van Riel
2010-10-06  4:02   ` H. Peter Anvin
2010-10-06  4:02     ` H. Peter Anvin
2010-10-06  4:14     ` Michel Lespinasse
2010-10-06  4:14       ` Michel Lespinasse
2010-10-06  4:18       ` Andrew Morton
2010-10-06  4:18         ` Andrew Morton
2010-10-06  4:20         ` H. Peter Anvin
2010-10-06  4:20           ` H. Peter Anvin
2010-10-05 14:55 ` [PATCH 0/3] V2: Reduce mmap_sem hold times during file backed page faults Rik van Riel
2010-10-05 14:55   ` Rik van Riel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101102200518.GA9229@google.com \
    --to=walken@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riel@redhat.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.