On Sun, Feb 24, 2013 at 02:14:43PM -0600, clow...@clownix.net wrote: > I use qemu inside a gplv3 software called cloonix, I have patched qemu to > have unix sockets instead of inet ones but the bug I have with unix > sockets may also happen with inet ones. > > The bug can be reproduced in cloonix context by using iperf, it occurs > randomly in a virtual cloonix network but occurs within seconds using > iperf in nested virtualisation (cloonix inside cloonix), the problem > begins when a lot of packets must be transmitted and the socket (inet in > the classical qemu, unix in cloonix) gets full and > qemu_net_queue_append_iov is called, then tx never restarts. > > See under in the patch attached, the way I avoided queuing anything, it > works, even if it is not a correction to the bug... > > The patch is for version 21.3 of cloonix which uses qemu-1.4.0-rc1, but > I now use qemu-1.4.0 and the bug is still there.
Thanks for the bug report. This sounds like a problem with net/socket.c - it's supposed to restart the queue when the socket becomes writable again. Can you share a way to reproduce this tx stall with vanilla QEMU? Stefan