mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Håkon Bugge" <Haakon.Bugge@Sun.COM>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Roland Dreier <rdreier@cisco.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Eric B Munson <ebmunson@us.ibm.com>,
	linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org,
	rolandd@cisco.com, pavel@ucw.cz, mingo@elte.hu,
	jsquyres@cisco.com
Subject: Re: [PATCH] ummunotify: Userspace support for MMU notifications
Date: Wed, 14 Apr 2010 07:18:20 +0200	[thread overview]
Message-ID: <06A5381F-9D03-4854-ABEB-B2025620E379@Sun.COM> (raw)
In-Reply-To: <1271181774.4807.1868.camel@twins>


On Apr 13, 2010, at 20:02 , Peter Zijlstra wrote:

> 
> Yeah, virtual<->physical maps can change through swapping, page
> migration, memory compaction, huge-page aggregation (the latter two not
> yet being upstream).

Assuming this holds true, RDMA will not work. And with no RDMA, we do not need ummunotify. Is that your argument?

Seriously, RDMA requires the virtual to physical mapping to remain constant for a period of time. And that time period is from memory registration to de-registration. If the virtual to physical mapping changes in that period for the registered memory area, I can't see how an HCA can handle that.

For MPI applications, the MPI API defines that the buffers used in communication cannot be changed or freed while a non-blocking transfer is in progress. So far, we are good. But memory registration (and in particular de-registration) is a costly process. Since MPI is about performance, the MPI library would like to  re-use earlier memory registrations for other transfers. The MPI library records earlier memory mappings (VA+bound) and checks if the VA+bound of a new transfer is already contained in memory revisions registered earlier.

The problem with this approach is that _normal_ activity _between_ the transfers changes the virtual to physical mapping and ruins previous memory registrations. The problem is to catch these. I simply argue that they should be caught the simplest possible way; a call-back from the system calls affecting the virtual to physical mapping.

> 
> Even mlock() doesn't pin virtual<->physical maps.

Can you elaborate on what you mean here?


Thanks, Håkon


  reply	other threads:[~2010-04-14  5:18 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-12  6:22 Eric B Munson
2010-04-12 20:20 ` Pavel Machek
2010-04-12 23:03 ` Andrew Morton
2010-04-12 23:59   ` Jason Gunthorpe
2010-04-13  8:29     ` Håkon Bugge
2010-04-13 17:57       ` Roland Dreier
2010-04-13 18:02         ` Peter Zijlstra
2010-04-14  5:18           ` Håkon Bugge [this message]
2010-04-14  8:52           ` Gleb Natapov
2010-04-15 13:48             ` Peter Zijlstra
2010-04-14  9:06         ` Gleb Natapov
2010-04-14 14:36           ` Jeff Squyres
2010-04-17 17:41   ` Eric B Munson
2010-04-14 16:43 ` [PATCH] ummunotify: fix umn-test build Randy Dunlap
2010-04-17 17:44   ` Eric B Munson
2010-04-18 14:38     ` Roland Dreier

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=06A5381F-9D03-4854-ABEB-B2025620E379@Sun.COM \
    --to=haakon.bugge@sun.com \
    --cc=akpm@linux-foundation.org \
    --cc=ebmunson@us.ibm.com \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=jsquyres@cisco.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=pavel@ucw.cz \
    --cc=peterz@infradead.org \
    --cc=rdreier@cisco.com \
    --cc=rolandd@cisco.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

all inboxes | Powered by JetHome®