From: Hans de Goede <hdegoede@redhat.com>
To: David Ahern <daahern@cisco.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] USB streaming [Re: [PATCH 18/18] usb: add ehci adapter]
Date: Wed, 18 May 2011 10:25:38 +0200 [thread overview]
Message-ID: <4DD38282.1030505@redhat.com> (raw)
In-Reply-To: <4DD2C9F7.4050801@cisco.com>
Hi,
On 05/17/2011 09:18 PM, David Ahern wrote:
>
>
> On 05/17/11 13:10, David Ahern wrote:
>>> Note that once every while a packet will get lost since normally a usb
>>> device is synced to the usb frame timer, but the real and emulated frame
>>> timer
>>> are not synced, so eventually a packet will get lost.
>>
>> I noticed that as well. The guest uhci driver (linux at least) guesses
>> where to put the initial request (10 frames out as I recall). From there
>> the requests need to flow - responses come into the guest, requests are
>> appended to the stream.
>>
>> One missed packet in the guest causes the driver to "start over" -- ie,
>> it's no longer a stream, but an initial request placed 10 frames out.
>> That causes an ugly jitter, and if the qemu controller happens to be
>> past the '10 frames out' guess by the OS you get a 1+ sec gap of silence.
>
> Oh yea, as I mentioned in the URL modifying the guest driver to have
> more outstanding URBs (at least 4 URBs with 5 packets per URB) was a key
> aspect of the solution as well -- keeping the guest OS and controller
> from losing sync.
With the fifo now in place this should no longer be necessary. I don't know
if you know, but I've been working on qemu usb stuff for a while now,
mostly focusing on usb redirection over the network. I've been distracted
by some other work for the last 2 months, but I hope to return to working
on this full time again now. Currently my work is in bad need of syncing
with the latest qemu. Once that is done I'll likely put out a call
for some early testers. Any feedback would be very welcome. My isoc
buffering fixes for usb-redirection on the host itself were mostly
done to get a feel for all this, and because if I could not get this
to work locally, it certainly would not work over the network.
Regards,
Hans
next prev parent reply other threads:[~2011-05-18 8:22 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-16 19:56 [Qemu-devel] [PATCH 00/18] usb patch queue: add usb 2.0 Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 01/18] usb: Add Interface Association Descriptor descriptor type Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 02/18] usb: update config descriptors to identify number of interfaces Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 03/18] usb: remove fallback to bNumInterfaces if no .nif Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 04/18] usb: add support for "grouped" interfaces and the Interface Association Descriptor Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 05/18] Bug #757654: UHCI fails to signal stall response patch Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 06/18] usb: Pass the packet to the device's handle_control callback Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 07/18] usb-linux: use usb_generic_handle_packet() Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 08/18] usb-linux: fix device path aka physical port handling Gerd Hoffmann
2011-05-17 16:38 ` Markus Armbruster
2011-05-16 19:56 ` [Qemu-devel] [PATCH 09/18] usb-linux: add hostport property Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 10/18] usb-linux: track aurbs in list Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 11/18] usb-linux: walk async urb list in cancel Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 12/18] usb-linux: split large xfers Gerd Hoffmann
2011-05-17 2:45 ` David Ahern
2011-05-17 7:10 ` Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 13/18] usb-linux: fix max_packet_size for highspeed Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 14/18] usb: add usb_handle_packet Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 15/18] usb: keep track of packet owner Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 16/18] usb: move cancel callback to USBDeviceInfo Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 17/18] usb-storage: don't call usb_packet_complete twice Gerd Hoffmann
2011-05-16 19:56 ` [Qemu-devel] [PATCH 18/18] usb: add ehci adapter Gerd Hoffmann
2011-05-17 2:47 ` David Ahern
2011-05-17 7:20 ` Gerd Hoffmann
2011-05-17 12:42 ` David Ahern
2011-05-17 13:46 ` Gerd Hoffmann
2011-05-17 14:19 ` David Ahern
2011-05-17 14:36 ` Gerd Hoffmann
2011-05-17 17:15 ` Erik Rull
2011-05-17 13:52 ` David Ahern
2011-05-17 15:02 ` Gerd Hoffmann
2011-05-17 17:05 ` David Ahern
2011-05-17 17:36 ` Hans de Goede
2011-05-17 17:43 ` [Qemu-devel] USB streaming [Re: [PATCH 18/18] usb: add ehci adapter] David Ahern
2011-05-17 18:44 ` Hans de Goede
2011-05-17 19:10 ` David Ahern
2011-05-17 19:18 ` David Ahern
2011-05-18 8:25 ` Hans de Goede [this message]
2011-05-17 17:33 ` [Qemu-devel] [PATCH 18/18] usb: add ehci adapter Hans de Goede
2011-05-17 17:00 ` David Ahern
2011-05-17 20:39 ` Blue Swirl
2011-05-17 20:51 ` David Ahern
2011-05-21 10:34 ` Andreas Färber
2011-05-16 20:04 ` [Qemu-devel] [PATCH 00/18] usb patch queue: add usb 2.0 Anthony Liguori
2011-05-17 7:36 ` Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DD38282.1030505@redhat.com \
--to=hdegoede@redhat.com \
--cc=daahern@cisco.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).