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

Re: [Xen-devel] [PATCH] introduce grant copy for user land



On 02/10/14 16:15, Thanos Makatos wrote:
> This patch introduces the interface to allow user-space applications
> execute grant-copy operations. This is done by sending an ioctl to the
> grant device. The number of grant-copy segments is currently limited to
> 16 in order to simplify the implementation, however the ABI allows an
> arbitrary number of operations.

Sorry for not responding earlier.  If I haven't responded to a patch in
a week, a reminder ping is appreciated.

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.

> +struct gntdev_grant_copy_segment {
> +     /*
> +      * source address and length
> +      */
> +     struct iovec iov;
> +
> +     /* the granted page */
> +     uint32_t ref;
> +
> +     /* offset in the granted page */
> +     uint16_t offset;
> +
> +     /* grant copy result (GNTST_XXX) */
> +     int16_t status;
> +};
> +
> +#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.

> +
> +     /* domain ID */
> +     uint32_t domid;
> +
> +     unsigned int count;
> +
> +     struct gntdev_grant_copy_segment __user *segments;
> +};

David

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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