From: Robin Holt <holt@sgi.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Robin Holt <holt@sgi.com>, Andrea Arcangeli <andrea@qumranet.com>,
Avi Kivity <avi@qumranet.com>, Izik Eidus <izike@qumranet.com>,
Nick Piggin <npiggin@suse.de>,
kvm-devel@lists.sourceforge.net,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
steiner@sgi.com, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, daniel.blueman@quadrics.com,
Hugh Dickins <hugh@veritas.com>
Subject: Re: [patch 1/4] mmu_notifier: Core code
Date: Fri, 25 Jan 2008 13:35:55 -0600 [thread overview]
Message-ID: <20080125193554.GP26420@sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0801251058170.3198@schroedinger.engr.sgi.com>
On Fri, Jan 25, 2008 at 11:03:07AM -0800, Christoph Lameter wrote:
> > > > Shouldn't this really be protected by the down_write(mmap_sem)? Maybe:
> > >
> > > Ok. We could switch this to mmap_sem protection for the mm_struct but the
> > > rmap notifier is not associated with an mm_struct. So we would need to
> > > keep it there. Since we already have a spinlock: Just use it for both to
> > > avoid further complications.
> >
> > But now you are putting a global lock in where it is inappropriate.
>
> The lock is only used during register and unregister. Very low level
> usage.
Seems to me that is the same argument used for lock_kernel. I am saying
we have a perfectly reasonable way to seperate the protections down to
their smallest. For the things hanging off the mm, mmap_sem, for the
other list, a list specific lock.
Keep in mind that on a 2048p SSI MPI job starting up, we have 2048 ranks
doing this at the same time 6 times withing their address range. That
seems like a lock which could get hot fairly quickly. It may be for a
short period during startup and shutdown, but it is there.
>
> > > > XPMEM, would also benefit from a call early. We could make all the
> > > > segments as being torn down and start the recalls. We already have
> > > > this code in and working (have since it was first written 6 years ago).
> > > > In this case, all segments are torn down with a single message to each
> > > > of the importing partitions. In contrast, the teardown code which would
> > > > happen now would be one set of messages for each vma.
> > >
> > > So we need an additional global teardown call? Then we'd need to switch
> > > off the vma based invalidate_range()?
> >
> > No, EXACTLY what I originally was asking for, either move this call site
> > up, introduce an additional mmu_notifier op, or place this one in two
> > locations with a flag indicating which call is being made.
>
> Add a new invalidate_all() call? Then on exit we do
>
> 1. invalidate_all()
That will be fine as long as we can unregister the ops notifier and free
the structure. Otherwise, we end up being called needlessly.
>
> 2. invalidate_range() for each vma
>
> 3. release()
>
> We cannot simply move the call up because there will be future range
> callbacks on vma invalidation.
I am not sure what this means. Right now, if you were to notify XPMEM
the process is exiting, we would take care of all the recalling of pages
exported by this process, clearing those pages cache lines from cache,
and raising memory protections. I would assume that moving the callout
earlier would expect the same of every driver.
Thanks,
Robin
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2008-01-25 19:35 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-25 5:56 [patch 0/4] [RFC] MMU Notifiers V1 Christoph Lameter
2008-01-25 5:56 ` [patch 1/4] mmu_notifier: Core code Christoph Lameter
2008-01-25 18:39 ` Robin Holt
2008-01-25 18:47 ` Christoph Lameter
2008-01-25 18:56 ` Robin Holt
2008-01-25 19:03 ` Christoph Lameter
2008-01-25 19:35 ` Robin Holt [this message]
2008-01-25 20:10 ` Christoph Lameter
2008-01-26 11:56 ` Robin Holt
2008-01-28 18:51 ` Christoph Lameter
2008-01-25 21:18 ` Christoph Lameter
2008-01-26 12:01 ` Robin Holt
2008-01-28 18:44 ` Christoph Lameter
2008-01-25 5:56 ` [patch 2/4] mmu_notifier: Callbacks to invalidate address ranges Christoph Lameter
2008-01-25 5:56 ` [patch 3/4] mmu_notifier: invalidate_page callbacks for subsystems with rmap Christoph Lameter
2008-01-25 5:56 ` [patch 4/4] MMU notifier: invalidate_page callbacks using Linux rmaps Christoph Lameter
2008-01-25 11:42 ` [patch 0/4] [RFC] MMU Notifiers V1 Andrea Arcangeli
2008-01-25 12:43 ` Robin Holt
2008-01-25 18:31 ` Christoph Lameter
2008-01-25 21:18 ` Benjamin Herrenschmidt
2008-01-25 21:25 ` Christoph Lameter
2008-01-28 16:10 ` Izik Eidus
2008-01-28 17:25 ` Andrea Arcangeli
2008-01-28 19:04 ` Christoph Lameter
2008-01-28 19:40 ` Andrea Arcangeli
2008-01-28 20:16 ` Christoph Lameter
-- strict thread matches above, loose matches on Subject: below --
2008-02-01 5:04 [patch 0/4] [RFC] EMMU Notifiers V5 Christoph Lameter
2008-02-01 5:04 ` [patch 1/4] mmu_notifier: Core code Christoph Lameter
2008-02-01 10:55 ` Robin Holt
2008-02-01 11:04 ` Robin Holt
2008-02-01 19:14 ` Christoph Lameter
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=20080125193554.GP26420@sgi.com \
--to=holt@sgi.com \
--cc=a.p.zijlstra@chello.nl \
--cc=andrea@qumranet.com \
--cc=avi@qumranet.com \
--cc=benh@kernel.crashing.org \
--cc=clameter@sgi.com \
--cc=daniel.blueman@quadrics.com \
--cc=hugh@veritas.com \
--cc=izike@qumranet.com \
--cc=kvm-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=npiggin@suse.de \
--cc=steiner@sgi.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).