From: Jeremy Fitzhardinge <Jeremy.Fitzhardinge@citrix.com>
To: Derek Murray <Derek.Murray@cl.cam.ac.uk>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
Eduardo Habkost <ehabkost@redhat.com>,
Juan Quintela <quintela@redhat.com>,
Jan Beulich <jbeulich@novell.com>,
Glauber de Oliveira Costa <gcosta@redhat.com>,
Chris Wright <chrisw@sous-sol.org>,
"virtualization@lists.osdl.org" <virtualization@lists.osdl.org>,
Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Subject: Re: [Xen-devel] Re: Next steps with pv_ops for Xen
Date: Thu, 06 Dec 2007 11:55:38 -0800 [thread overview]
Message-ID: <475853BA.1050405@citrix.com> (raw)
In-Reply-To: <4757C826.10506@cl.cam.ac.uk>
Derek Murray wrote:
> Keir Fraser wrote:
>> You'd need to track pte->grant_handle mappings somewhere, but it could
>> certainly be done this way, yes.
>
> At the moment, blktap and gntdev provide struct pages to
> get_user_pages by smuggling them in the vm_private_data field of the
> relevant vm_area_struct. Could we use this field to get the handles to
> ptep_get_and_clear_full as well?
Yes. Given the mm and a vaddr passed to ptep_get_and_clear, find_vma()
will return the vma_struct. If we assert that anyone who sets the "I'm
foreign" bit in a pte has a standard format for the vm_private_data
field, then we can stash a callback pointer there and make the
appropriate callback.
> Only downside that I can see is that we would need to find the vma for
> each PTE that needs to be cleared this way (since we don't get this
> passed to ptep_get_and_clear_full), but this is mitigated by (i) it
> only happening in the erroneous, unclean-shutdown case, and (ii)
> getting a hit in the mm->mmap_cache for consecutive runs of mapped
> grants.
Yes. find_vma is fairly hot, since its used on every fault, so it
should be reasonably fast. And it doesn't sound like our case is
particularly performance critical.
J
next prev parent reply other threads:[~2007-12-06 19:55 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-21 22:05 Next steps with pv_ops for Xen Stephen C. Tweedie
2007-11-21 23:12 ` Jeremy Fitzhardinge
2007-11-26 14:02 ` Juan Quintela
2007-11-26 18:52 ` Jeremy Fitzhardinge
2007-11-27 8:30 ` Jan Beulich
2007-11-27 17:00 ` Jeremy Fitzhardinge
2007-11-27 17:14 ` Jan Beulich
2007-11-27 17:15 ` Stephen C. Tweedie
2007-12-03 12:54 ` Gerd Hoffmann
2007-12-03 13:19 ` Derek Murray
2007-12-03 14:16 ` Gerd Hoffmann
2007-12-03 14:51 ` Derek Murray
2007-12-03 17:18 ` Mark Williamson
2007-12-03 18:36 ` D.G. Murray
2007-12-03 19:08 ` Mark Williamson
2007-12-04 9:35 ` tgh
2007-12-05 3:42 ` Mark Williamson
2007-12-06 15:21 ` Gerd Hoffmann
2007-12-06 15:32 ` Derek Murray
2007-12-06 15:55 ` Gerd Hoffmann
2007-12-21 12:58 ` Gerd Hoffmann
2007-12-21 12:58 ` [Xen-devel] " Gerd Hoffmann
2007-12-03 20:38 ` Gerd Hoffmann
2007-12-04 9:40 ` Derek Murray
2007-12-04 12:01 ` Gerd Hoffmann
2007-12-04 12:39 ` Stephen C. Tweedie
2007-12-04 19:58 ` Gerd Hoffmann
2007-12-05 11:48 ` [Xen-devel] " Derek Murray
2007-12-05 11:48 ` Derek Murray
2007-12-05 14:12 ` Gerd Hoffmann
2007-12-05 14:22 ` Keir Fraser
2007-12-05 14:30 ` Derek Murray
2007-12-05 16:58 ` Keir Fraser
2007-12-05 17:17 ` Derek Murray
2007-12-05 17:22 ` Keir Fraser
2007-12-05 17:48 ` Derek Murray
2007-12-05 17:59 ` Keir Fraser
2007-12-05 18:15 ` Derek Murray
2007-12-12 8:27 ` Isaku Yamahata
2007-12-12 8:39 ` Keir Fraser
2007-12-12 8:44 ` Isaku Yamahata
2007-12-05 20:06 ` Gerd Hoffmann
2007-12-05 18:12 ` Jeremy Fitzhardinge
2007-12-05 18:29 ` Derek Murray
2007-12-05 20:15 ` Jeremy Fitzhardinge
2007-12-05 20:35 ` Geoffrey Lefebvre
2007-12-06 10:15 ` Gerd Hoffmann
2007-12-05 20:44 ` Keir Fraser
2007-12-06 10:00 ` Derek Murray
2007-12-06 19:55 ` Jeremy Fitzhardinge [this message]
2007-12-05 13:19 ` Derek Murray
2007-12-04 21:08 ` Ian Main
2007-12-05 10:03 ` Gerd Hoffmann
2007-12-05 12:51 ` Gerd Hoffmann
2007-12-05 10:11 ` Derek Murray
2007-12-04 20:59 ` Ian Main
2007-12-05 11:54 ` Derek Murray
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=475853BA.1050405@citrix.com \
--to=jeremy.fitzhardinge@citrix.com \
--cc=Derek.Murray@cl.cam.ac.uk \
--cc=Keir.Fraser@cl.cam.ac.uk \
--cc=chrisw@sous-sol.org \
--cc=ehabkost@redhat.com \
--cc=gcosta@redhat.com \
--cc=jbeulich@novell.com \
--cc=quintela@redhat.com \
--cc=virtualization@lists.osdl.org \
--cc=xen-devel@lists.xensource.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.