[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |