All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] USB Asynchronous I/O
@ 2007-11-14 21:48 Salil Bijur
  2007-11-15 12:16 ` Arnon Gilboa
  0 siblings, 1 reply; 5+ messages in thread
From: Salil Bijur @ 2007-11-14 21:48 UTC (permalink / raw)
  To: qemu-devel

Hello,

I've been testing Bluetooth-USB in QEMU for an arm-based processor
with a Linux guest.

When a bluetooth dongle is added, there is a continuous sending of
bulk and interrupt packets synchronously (using the USBDEVFS_BULK
ioctl) making qemu extremely slow and unusable.
I wanted to know if it is a good idea to send these bulk and interrupt
transfers asynchronously using the SUBMITURB and REAPURBNDELAY ioctls
in a way similar as isochronous transfers in usb-linux.c.
Is there any reason why only isochronous packets are being sent
asynchronously when the same can be done for other types?

Thanks,
Salil

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [Qemu-devel] USB Asynchronous I/O
  2007-11-14 21:48 [Qemu-devel] USB Asynchronous I/O Salil Bijur
@ 2007-11-15 12:16 ` Arnon Gilboa
  2007-11-18 13:24   ` Salil Bijur
  2007-11-18 13:30   ` Paul Brook
  0 siblings, 2 replies; 5+ messages in thread
From: Arnon Gilboa @ 2007-11-15 12:16 UTC (permalink / raw)
  To: qemu-devel

I believe you can do it similar to the way I did for isochronous
transfers in usb-linux.c.
Remember that using SUBMITURB and REAPURBNDELAY ioctls, you need to add
another signal and signal handler for the async bulk, and there might be
some issues in the ohci/uhci because they currently assume only
isochronous transfers are async. A minute ago I tried to implement the
bulk transfers using SUBMITURB and REAPURB (which blocks until response)
but it seems to hang qemu upon connecting a disk-on-key.

-----Original Message-----
From: qemu-devel-bounces+arnong=qumranet.com@nongnu.org
[mailto:qemu-devel-bounces+arnong=qumranet.com@nongnu.org] On Behalf Of
Salil Bijur
Sent: Wednesday, November 14, 2007 11:49 PM
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] USB Asynchronous I/O

Hello,

I've been testing Bluetooth-USB in QEMU for an arm-based processor with
a Linux guest.

When a bluetooth dongle is added, there is a continuous sending of bulk
and interrupt packets synchronously (using the USBDEVFS_BULK
ioctl) making qemu extremely slow and unusable.
I wanted to know if it is a good idea to send these bulk and interrupt
transfers asynchronously using the SUBMITURB and REAPURBNDELAY ioctls in
a way similar as isochronous transfers in usb-linux.c.
Is there any reason why only isochronous packets are being sent
asynchronously when the same can be done for other types?

Thanks,
Salil

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] USB Asynchronous I/O
  2007-11-15 12:16 ` Arnon Gilboa
@ 2007-11-18 13:24   ` Salil Bijur
  2007-11-18 13:30   ` Paul Brook
  1 sibling, 0 replies; 5+ messages in thread
From: Salil Bijur @ 2007-11-18 13:24 UTC (permalink / raw)
  To: qemu-devel

On Nov 15, 2007 5:46 PM, Arnon Gilboa <arnon.gilboa@qumranet.com> wrote:
> I believe you can do it similar to the way I did for isochronous
> transfers in usb-linux.c.
> Remember that using SUBMITURB and REAPURBNDELAY ioctls, you need to add
> another signal and signal handler for the async bulk, and there might be
> some issues in the ohci/uhci because they currently assume only
> isochronous transfers are async. A minute ago I tried to implement the
> bulk transfers using SUBMITURB and REAPURB (which blocks until response)
> but it seems to hang qemu upon connecting a disk-on-key.
>

What about interrupt packets? For a bluetooth device, the interrupt
packets are sent almost every 2-3 ms. taking up most of the bandwidth.
These in turn called the synchronous ioctls hanging qemu for that
time. Making these asynchronous gives a timeout in the kernel's usb
subsystem.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] USB Asynchronous I/O
  2007-11-15 12:16 ` Arnon Gilboa
  2007-11-18 13:24   ` Salil Bijur
@ 2007-11-18 13:30   ` Paul Brook
  2007-11-18 13:46     ` Arnon Gilboa
  1 sibling, 1 reply; 5+ messages in thread
From: Paul Brook @ 2007-11-18 13:30 UTC (permalink / raw)
  To: qemu-devel; +Cc: Arnon Gilboa

> there might be
> some issues in the ohci/uhci because they currently assume only
> isochronous transfers are async.

That's definitely incorrect. The USB mass storage emulation uses async bulk 
transfers.

Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [Qemu-devel] USB Asynchronous I/O
  2007-11-18 13:30   ` Paul Brook
@ 2007-11-18 13:46     ` Arnon Gilboa
  0 siblings, 0 replies; 5+ messages in thread
From: Arnon Gilboa @ 2007-11-18 13:46 UTC (permalink / raw)
  To: qemu-devel

Sorry, it was my mistake. I only meant it may require some changes in
ohci/uhci.

-----Original Message-----
From: Paul Brook [mailto:paul@codesourcery.com] 
Sent: Sunday, November 18, 2007 3:31 PM
To: qemu-devel@nongnu.org
Cc: Arnon Gilboa
Subject: Re: [Qemu-devel] USB Asynchronous I/O

> there might be
> some issues in the ohci/uhci because they currently assume only 
> isochronous transfers are async.

That's definitely incorrect. The USB mass storage emulation uses async
bulk transfers.

Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-11-18 13:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-14 21:48 [Qemu-devel] USB Asynchronous I/O Salil Bijur
2007-11-15 12:16 ` Arnon Gilboa
2007-11-18 13:24   ` Salil Bijur
2007-11-18 13:30   ` Paul Brook
2007-11-18 13:46     ` Arnon Gilboa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.