WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Grant a partial page

On Thu, 2011-11-10 at 08:18 +0000, Daniel Castro wrote:
> On Thu, Nov 10, 2011 at 5:02 PM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> > On Thu, 2011-11-10 at 05:46 +0000, Daniel Castro wrote:
> >> Hello,
> >> I to issue a grant on a page, but only partially.
> >> I have a pointer to somewhere in memory and need to issue the grant
> >> for such a pointer but not to the entire page.
> >> I know FLAG GTF_sub_page is used for that purpose but grant_entry_v1
> >> apparently has no fields for sub_page, should I change the code to use
> >> Version 2 grant table entries?
> >
> > sub page grants are a feature of v2 grant tables only, they also require
> > you to make copy only grants (since you cannot enforce the subpage
> > aspect for a mapped grant).
> >
> > Using v2 grant tables here has a few issues.
> >
> > Firstly it is hard (if not impossible) to go back to v1 after switching
> > to v2 which presents a problem for the eventual guest OS (this could
> > probably be solved by suitable hypervisor modifications).
> >
> > Secondly the otherend needs to be using copy grants and not mapping
> > grants. This generally would require some sort of protocol negotiation
> > via xenstore (i.e. netback would generally use mapping by default for
> > guest-TX pages).
> >
> > I think you are better off either copying your subpage data into an
> > isolated page of its own (or maybe you can arrange for this to be true
> > of the original data) or deciding that you are happy to expose the rest
> > of the original page to the backend domain. Whether this second option
> > is safe or not depends on what is there, a read-only grant might provide
> > some more assurances here, depending on what the data actually is etc.
> Ian, the problems I see are:
> 1. I have no idea what the size of the transfer will be, it could be
> several pages.
> 2. I do not know where the pointer that indicates the buffer points
> at, meaning that I have no idea what else will be there.
> 3. I do not know id the buffer pointer is page aligned.
> If I stick to the current code, where I do not use DMA directly,
> instead the backend does the DMA to my private buffer and I manually
> copy to the guest buffer. Does that extra copy is worth the trouble to
> do v2 grants?

In the context of SeaBIOS I don't think the copy matters too much.
Unless/until benchmarking shows otherwise I'd be inclined not to worry
about it.

Ian.

> 
> Daniel
> >
> > Ian.
> >
> >
> 
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>