From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:45417) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RTFGW-0003cV-4M for qemu-devel@nongnu.org; Wed, 23 Nov 2011 11:01:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RTFGR-0007KK-OR for qemu-devel@nongnu.org; Wed, 23 Nov 2011 11:01:40 -0500 Received: from mx1.redhat.com ([209.132.183.28]:14782) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RTFGR-0007K5-Ac for qemu-devel@nongnu.org; Wed, 23 Nov 2011 11:01:35 -0500 Message-ID: <4ECD18DA.8080804@redhat.com> Date: Wed, 23 Nov 2011 17:01:30 +0100 From: Gerd Hoffmann MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] husb: out of buffers for iso stream List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Hans de Goede , qemu-devel On 11/19/11 20:40, Stefan Hajnoczi wrote: > I have a Windows 7 VM running a sound driver for a passthrough USB > host device. The driver submits iso in and out urbs to do audio > capture and playback at the same time. > > Audacity running inside the guest freezes and does not record audio > unless I move the mouse. Somehow it seems USB iso urbs aren't being > pumped unless I keep moving the mouse. The VM is using VNC. I have no idea how moving the mouse could possibly help here. > Checking the QEMU stderr logs I see many occurrences of "husb: out of > buffers for iso stream". Perhaps this message is enough to pinpoint > the problem? It means the number of buffers in flight (on the host side) went down to zero, i.e. the stream is interrupted. usb-host maintains a set of buffers (four by default) per iso endpoint to keep the constant data flow up, i.e. pass one buffer to the guest while the host fills the next one. Now the host has no more buffers to fill. Most likely usb-host sits on a bunch of full buffers which it hasn't passed to the guest yet. For starter try a higher number of buffers (isobufs property). Also make sure you enable the vnc thread (unless you have already). cheers, Gerd