qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] net/tap.c: Possibly a way to stall tap input


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] net/tap.c: Possibly a way to stall tap input
Date: Fri, 2 Aug 2013 09:33:19 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Aug 01, 2013 at 07:24:13PM +0200, Jan Kiszka wrote:
> On 2013-08-01 19:15, Jan Kiszka wrote:
> > Hi all,
> > 
> > I'm tracking down a nasty stall of tap input over a custom 1.3.x QEMU
> > version. Under certain load, our tap backend stops reading from the char
> > device, and that even if we reset the guest. The frontend device
> > (pcnet32) is able to receive (can_receive would return > 0), but the
>    ^^^^^^^
> Yes, the pcnet lacks qemu_flush_queued_packets, like certain other NIC
> models already have. We added that to pcnet_init and pcnet_start (patch
> will follow), but that didn't make a difference, likely due to what I
> described below.

Yes, you need to add qemu_flush_queued_packets() where the guest enables
RX or marks RX descriptors free (usually by writing to a hardware
register to update the RX ring index).

Please also confirm that you are using -netdev tap -device pcnet32
instead of the legacy -net syntax.  The reason I'm asking is because I
remember the same issue with net/hub.c, which gets in the way if you use
legacy syntax (see 199ee608).

Hope this helps,
Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]