[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1158368580.14473.207.camel@localhost.localdomain>
Date: Sat, 16 Sep 2006 11:03:00 +1000
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: Hugh Dickins <hugh@...itas.com>
Cc: Andrew Morton <akpm@...l.org>, linux-mm@...ck.org,
Linux Kernel list <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...l.org>,
Mike Waychison <mikew@...gle.com>
Subject: Re: [RFC] page fault retry with NOPAGE_RETRY
On Fri, 2006-09-15 at 14:30 +0100, Hugh Dickins wrote:
> On Fri, 15 Sep 2006, Andrew Morton wrote:
> >
> > This assumes that no other heavyweight process will try to modify this
> > single-threaded process's mm. I don't _think_ that happens anywhere, does
> > it? access_process_vm() is the only case I can think of,
>
> "Modify" in the sense of fault into.
> Yes, access_process_vm() is all I can think of too.
>
> > and it does down_read(other process's mmap_sem).
>
> If there were anything else, it'd have to do so too (if not down_write).
>
> I too like NOPAGE_RETRY: as you've both observed, it can help to solve
> several different problems.
Yes, I don't need any of the safeguards that Andrew mentioned in my case
though. I want to return all the way to userland because I want signals
to be handled (which might also be a good thing in your case in fact, so
that a process being starved by that new mecanism can still be
interrupted).
I would ask that if you decide that the more complex approach is not
2.6.19 material, that the simple addition of NOPAGE_RETRY as I've
defined could be included in a first step so I can solve my problem (and
possibly other drivers wanting to do funky things with no_page() and
still take signals), and the google patch be rebased on top of that for
additional simmering :)
Cheers,
Ben.
-
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