[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0802161129020.25573@schroedinger.engr.sgi.com>
Date: Sat, 16 Feb 2008 11:31:09 -0800 (PST)
From: Christoph Lameter <clameter@....com>
To: Andrew Morton <akpm@...ux-foundation.org>
cc: Brice Goglin <Brice.Goglin@...ia.fr>,
Andrea Arcangeli <andrea@...ranet.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [patch 1/6] mmu_notifier: Core code
On Sat, 16 Feb 2008, Andrew Morton wrote:
> "looks good" maybe. But it's in the details where I fear this will come
> unstuck. The likelihood that some callbacks really will want to be able to
> block in places where this interface doesn't permit that - either to wait
> for IO to complete or to wait for other threads to clear critical regions.
We can get the invalidate_range to always be called without spinlocks if
we deal with the case of the inode_mmap_lock being held in truncate case.
If you always want to be able to sleep then we could drop the
invalidate_page() that is called while pte locks held and require the use
of a device driver rmap?
> >From that POV it doesn't look like a sufficiently general and useful
> design. Looks like it was grafted onto the current VM implementation in a
> way which just about suits two particular clients if they try hard enough.
You missed KVM. We did the best we could being as least invasive as
possible.
> Which is all perfectly understandable - it would be hard to rework core MM
> to be able to make this interface more general. But I do think it's
> half-baked and there is a decent risk that future (or present) code which
> _could_ use something like this won't be able to use this one, and will
> continue to futz with mlock, page-pinning, etc.
>
> Not that I know what the fix to that is..
You do not see a chance of this being okay if we adopt the two measures
that I mentioned above?
--
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