[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Grant a partial page



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?

Daniel
>
> Ian.
>
>



-- 
+-=====---------------------------+
| +---------------------------------+ | This space intentionally blank
for notetaking.
| |   | Daniel Castro,                |
| |   | Consultant/Programmer.|
| |   | U Andes                         |
+-------------------------------------+

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.