On 11/11/14 12:27, Thanos Makatos wrote: >> The arbitrary limitations in number of ops and page alignment should be >> removed. I think both can be removed relatively easily by consuming page >> aligned chunks of segments and doign the hypercall when a batch of ops is >> filled. > > Wouldn't this lead to multiple calls to gnttab_batch_copy(), potentially > hurting performance?
The incremental benefits of batching diminishes as the batch size increase. We also don't want multi-page allocations in this driver, so the batch size should be set accordingly. >>> +#define IOCTL_GNTDEV_GRANT_COPY \ >>> +_IOC(_IOC_NONE, 'G', 8, sizeof(struct ioctl_gntdev_grant_copy)) >>> +struct ioctl_gntdev_grant_copy { >>> + /* >>> + * copy direction: 0 to copy to guest, 1 to copy from guest >>> + */ >>> + int dir; >> >> I think this dir should be per-segment and use the GNTCPY_source_gref and >> GNTCOPY_dest_gref flags, since per-op direction is what the hypercall >> provides. > > OK. The interface should also support grant to grant copies. David _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel