* [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.