Re: [Xen-devel] [PATCH 3/4] usb: Introduce Xen pvUSB backend
From: Ian Campbell
Date: Wed Mar 04 2015 - 09:46:41 EST
On Wed, 2015-03-04 at 15:41 +0100, Juergen Gross wrote:
> On 03/04/2015 03:29 PM, Ian Campbell wrote:
> > On Wed, 2015-03-04 at 14:19 +0000, David Vrabel wrote:
> >> On 04/03/15 14:09, Juergen Gross wrote:
> >>>
> >>> The main question whether it is worth to consider this alternative is
> >>> the performance aspect. Does anyone have an idea which USB devices would
> >>> typically be used via pvusb? I'd suspect memory sticks and USB disks
> >>> and perhaps webcams being the most performance relevant ones. Is an
> >>> additional copy operation of user data acceptable here?
> >>
> >> I have no idea. We (XenServer) have no use cases at all for USB device
> >> passthrough.
> >
> > My gut feeling is that for USB 1 and 2 the bus itself isn't fast enough
> > that anyone would care. qdisk has acceptable for disks, so it's probably
> > ok for usb too.
>
> While I can accept the bus speed reasoning, I doubt qdisk is copying
> data between user and kernel space under normal circumstances. I think
> disk I/Os are done using DMA to/from the user buffer directly.
I thought there was at least one copy on the datapath with qdisk,
wherever it is. But I don't know for sure.
> > For usb 3 onwards, well, maybe when we care about those we'll decide
> > that a kernel space driver is needed, but for now it seems like
> > userspace would be ok.
>
> Do you have another feeling about the probability of a need to do usb 3?
> If it is already on the horizon I wouldn't want to do the user space
> backend now and the kernel one next year. :-)
Well, what is *your* use case for USB passthru? I don't actually have
one myself.
I'd speculate that people are more interested in passing in
low/medium/high speed devices rather than the superfast usb3 disks etc.
But I have no reason to back that up.
Ian.
--
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/