From: Hans de Goede <hdegoede@redhat.com>
To: Johannes Stezenbach <js@sig21.net>
Cc: Shawn Starr <shawn.starr@rogers.com>,
qemu-devel@nongnu.org, gerd@kraxel.org
Subject: Re: [Qemu-devel] EHCI USB regression in 1.2.0 - ehci_state_fetchqtd() asserting
Date: Mon, 08 Oct 2012 15:51:08 +0200 [thread overview]
Message-ID: <5072DA4C.8050708@redhat.com> (raw)
In-Reply-To: <20121008130125.GA3622@sig21.net>
Hi,
On 10/08/2012 03:01 PM, Johannes Stezenbach wrote:
> Hi Hans,
>
> On Mon, Oct 08, 2012 at 01:27:28PM +0200, Hans de Goede wrote:
>> On 10/02/2012 05:26 PM, Shawn Starr wrote:
>>>
>>> Reopening this issue with usb-host stalling now
>>>
>>> ehci warning: guest updated active QH
>>> USBDEVFS_DISCARDURB: Invalid argument
>>> USBDEVFS_DISCARDURB: Invalid argument
>>> husb: leaking iso urbs because of discard failure
>>>
>>>
>>> Now with qemu-XXX-1.2.0-12.fc18.x86_64
>>>
>>> if I have webcam open, it will stall and not resume. This is with usb-host
>>> directly.
>>>
>>> Shall I enable debugging again?
>>
>> Hmm, this likely is caused by too high latencies in your system,
>> which are caused in turn I believe by you running an F-18 kernel which
>> has various debugging options enabled inside the kernel which can
>> cause significant latencies. I've spend 1.5 days tracing this very
>> same issue down in the past. So please first of all make sure that you're
>> running a kernel without debugging options enabled, either the latest
>> F-18 build from koji:
>> http://koji.fedoraproject.org/koji/buildinfo?buildID=358570
>>
>> or an F-17 kernel, almost all the F-18 "rc" kernels have debugging enabled
>> and thus cause significant latency issues.
>>
>> If you can reproduce this with a kernel without the debugging options,
>> then we can investigate this further.
>
> By changing the kernel, don't you just make the issue harder to reproduce?
> I mean Linux isn't real-time so any kernel can show latency spikes
> and it's a show-stopper if iso transfers stall instead of just
> dropping some packets.
>
> There will always be a race between the call to USBDEVFS_DISCARDURB
> and the URB completing. IMHO the handling in usb_host_stop_n_free_iso()
> is buggy. How about dropping the "killed" and "free" variables and
> calling async_complete() and g_free() unconditionally?
This race is well known already handled correctly, the real problem is the
"ehci warning: guest updated active QH" message, which most likely indicates
that the guest has hit the doorbell (IAAD) in the EHCI controller, and then
has not gotten an IAA interrupt within
a certain amount of time triggering its IAAD watchdog (some real EHCI
hardware is broken wrt delivering IAA interrupt) causing us to not see
an unlinked qh as unlinked, and then later on triggering the
"warning: guest updated active QH" message.
This is unavoidable when we get too large latencies, the ehci hardware
simple was not designed to be virtualized, anything but actually.
Regards,
Hans
next prev parent reply other threads:[~2012-10-08 13:50 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-19 16:42 [Qemu-devel] EHCI USB regression in 1.2.0 - ehci_state_fetchqtd() asserting Shawn Starr
2012-09-19 16:53 ` Shawn Starr
2012-09-20 15:37 ` Hans de Goede
2012-09-20 19:08 ` Shawn Starr
2012-09-20 23:28 ` Shawn Starr
[not found] ` <6177450.mT8I4ey0nz@segfault.sh0n.net>
2012-09-21 0:04 ` Shawn Starr
2012-09-21 12:19 ` Hans de Goede
2012-09-21 15:39 ` Shawn Starr
2012-09-21 17:35 ` Hans de Goede
2012-09-21 18:46 ` Shawn Starr
2012-09-23 10:03 ` Hans de Goede
2012-09-23 18:00 ` Shawn Starr
2012-09-23 18:20 ` Shawn Starr
2012-09-23 18:52 ` Shawn Starr
2012-09-24 9:52 ` Hans de Goede
2012-09-24 14:24 ` Shawn Starr
2012-09-24 9:50 ` Hans de Goede
2012-09-24 14:20 ` Shawn Starr
2012-09-24 14:36 ` Hans de Goede
2012-09-24 14:38 ` Shawn Starr
2012-10-02 15:26 ` Shawn Starr
2012-10-08 11:27 ` Hans de Goede
2012-10-08 13:01 ` Johannes Stezenbach
2012-10-08 13:51 ` Hans de Goede [this message]
2012-10-08 14:49 ` Johannes Stezenbach
2012-10-08 15:03 ` Hans de Goede
2012-10-08 16:11 ` Johannes Stezenbach
2012-10-08 20:10 ` Hans de Goede
2012-10-08 20:18 ` Shawn Starr
2012-10-08 21:32 ` Hans de Goede
2012-10-08 21:37 ` Shawn Starr
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=5072DA4C.8050708@redhat.com \
--to=hdegoede@redhat.com \
--cc=gerd@kraxel.org \
--cc=js@sig21.net \
--cc=qemu-devel@nongnu.org \
--cc=shawn.starr@rogers.com \
/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).