[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20060919200533.2874ce36.akpm@osdl.org>
Date: Tue, 19 Sep 2006 20:05:33 -0700
From: Andrew Morton <akpm@...l.org>
To: Benjamin Herrenschmidt <benh@...nel.crashing.org>
Cc: Mike Waychison <mikew@...gle.com>, linux-mm@...ck.org,
Linux Kernel list <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...l.org>
Subject: Re: [RFC] page fault retry with NOPAGE_RETRY
On Wed, 20 Sep 2006 11:57:09 +1000
Benjamin Herrenschmidt <benh@...nel.crashing.org> wrote:
> > You forget that the point of this optimisation is to undo mmap_sem while
> > waiting on the disk IO. Once we've done that we cannot go looking at ptes
> > or vmas: another thread could have munapped the whole lot or anything.
> > (And we always need to be afraid of use_mm()..)
>
> Wait wait .. .we don't need to have the mmap sem to -look- at a PTE.
The pte resides in a pagetable page. Once we've dropped mmap_sem, that
pagetable page might not be there any more: munmap() might have freed it.
We have to retake mmap_sem, do a find_vma() and a new pagetable walk.
There are some optimisations we could make to avoid all of that in the
common case, but this is the conceptual behaviour.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists