[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/2] xen/granttable: Support sub-page grants
On 12/06/2011 03:42 AM, Ian Campbell wrote: >> +{ >> + int ref; >> + >> + ref = get_free_entries(1); >> + if (unlikely(ref < 0)) >> + return -ENOSPC; >> + >> + gnttab_grant_foreign_access_ref_subpage_v2(ref, domid, frame, flags, >> + page_off, length); >> + >> + return ref; >> +} >> +EXPORT_SYMBOL_GPL(gnttab_grant_foreign_access_subpage_v2); >> + >> +void gnttab_grant_foreign_access_ref_subpage_v2(grant_ref_t ref, domid_t >> domid, >> + unsigned long frame, int flags, >> + unsigned page_off, >> + unsigned length) >> +{ >> + BUG_ON(flags & (GTF_accept_transfer | GTF_reading | >> + GTF_writing | GTF_transitive)); >> + BUG_ON(grant_table_version == 1); > Returning -Esomething might be less drastic? ENOSYS perhaps? Yeah, BUG_ON shouldn't be used for API misuse unless there's absolutely no other way to handle it. > >> + gnttab_shared.v2[ref].sub_page.frame = frame; >> + gnttab_shared.v2[ref].sub_page.page_off = page_off; >> + gnttab_shared.v2[ref].sub_page.length = length; >> + gnttab_shared.v2[ref].hdr.domid = domid; >> + wmb(); >> + gnttab_shared.v2[ref].hdr.flags = >> + GTF_permit_access | GTF_sub_page | flags; >> +} >> +EXPORT_SYMBOL_GPL(gnttab_grant_foreign_access_ref_subpage_v2); >> + >> +bool gnttab_subpage_trans_grants_available(void) >> +{ >> + return grant_table_version == 2; >> +} > It's not clear this adds anything over and above letting the user query > the grant table version. It's hard to tell since there are no users > presented here though. Perhaps separate subpage and transitive functions > would be cleaner? Well, in general, specifically testing for features rather than interface versions is better. J _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |