[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100414085228.GL23554@redhat.com>
Date: Wed, 14 Apr 2010 11:52:28 +0300
From: Gleb Natapov <gleb@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Roland Dreier <rdreier@...co.com>,
HÃ¥kon Bugge <Haakon.Bugge@....COM>,
Jason Gunthorpe <jgunthorpe@...idianresearch.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Eric B Munson <ebmunson@...ibm.com>,
linux-kernel@...r.kernel.org, linux-rdma@...r.kernel.org,
rolandd@...co.com, pavel@....cz, mingo@...e.hu, jsquyres@...co.com
Subject: Re: [PATCH] ummunotify: Userspace support for MMU notifications
On Tue, Apr 13, 2010 at 08:02:54PM +0200, Peter Zijlstra wrote:
> On Tue, 2010-04-13 at 10:57 -0700, Roland Dreier wrote:
> > Are those system calls the only possible way that virtual to physical
> > mappings can change? Can't page migration or something like that
> > potentially affect things? And even if you did have hooks into every
> > system call that mattered (keep in mind that relying on glibc is not
> > enough, since an MPI application may not use glibc) would decoding them
> > and figuring out what happened really be preferable to a single event
> > type that tells you exactly what address range was affected?
>
> Yeah, virtual<->physical maps can change through swapping, page
> migration, memory compaction, huge-page aggregation (the latter two not
> yet being upstream).
>
> Even mlock() doesn't pin virtual<->physical maps.
Pages registered for RDMA are GUPed so no method above should touch
them. Fork+cow or unmap/map on the other hand can change
virtual<->physical maps. GUPed pages are still GUPed, but they are no
longer mapped into process' virtual address space. MPI copes with
Fork+cow by marking registered memory as MADV_DONTFORK.
--
Gleb.
--
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