Re: [Xen-devel] [PATCH 3/4] usb: Introduce Xen pvUSB backend

From: Juergen Gross
Date: Wed Mar 04 2015 - 08:31:16 EST


On 03/02/2015 12:39 PM, David Vrabel wrote:
On 26/02/15 13:35, Juergen Gross wrote:
Introduces the Xen pvUSB backend. With pvUSB it is possible for a Xen
domU to communicate with a USB device assigned to that domU. The
communication is all done via the pvUSB backend in a driver domain
(usually Dom0) which is owner of the physical device.

Why do we need a kernel usb backend instead of a user-space one using
libusb?

Good question. At a first glance libusb seems to offer most/all needed
interfaces. The main question is whether performance with libusb will
be okay. There will be one additional copy of the I/O data needed if
I've read the code in drivers/usb/core/devio.c correctly.

I haven't worked with user space backends yet. Do you recommend a
special example I should start with?


Changes from the original version are:
- port to upstream kernel
- put all code in just one source file

?? I'm not sure that was an improvement. The resulting single file is
too large IMO.

OTOH this reduces overall code size:

New file has 1845 lines, while old version had in sum 2243 lines with
the largest file having 1217 lines. So the largest file is 50% larger,
while overall size is 20% smaller.

- move module to appropriate location in kernel tree

drivers/xen/ is the correct location for this driver.

Hmm, so you regard placement of xen-netback under drivers/net and
xen-blkback under drivers/block as wrong? I've just followed these
examples.


Juergen
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/