On Wed, May 22, 2013 at 2:53 PM, Andreas Färber <afaer...@suse.de> wrote: > Am 22.05.2013 14:50, schrieb Stefan Hajnoczi: >> Net queues support efficient "receive disable". For example, tap's file >> descriptor will not be polled while its peer has receive disabled. This >> saves CPU cycles for needlessly copying and then dropping packets which >> the peer cannot receive. >> >> rtl8139 is missing the qemu_flush_queued_packets() call that wakes the >> queue up when receive becomes possible again. >> >> As a result, the Windows 7 guest driver reaches a state where the >> rtl8139 cannot receive packets. The driver has actually refilled the >> receive buffer but we never resume reception. >> >> The bug can be reproduced by running a large FTP 'get' inside a Windows >> 7 guest: >> >> $ qemu -netdev tap,id=tap0,... >> -device rtl8139,netdev=tap0 >> >> The Linux guest driver does not trigger the bug, probably due to a >> different buffer management strategy. >> >> Reported-by: Oliver Francke <oliver.fran...@filoo.de> >> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > > Sounds as if we should > > Cc: qemu-sta...@nongnu.org
Yes, please. Oliver just confirmed that it fixes the issue for him on IRC so this is good for QEMU 1.5.1. Stefan