Thread (9 messages) 9 messages, 4 authors, 2012-09-19

Re: Slow inbound traffic on macvtap interfaces

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2012-08-16 15:36:13
Also in: qemu-devel

On Thu, Aug 16, 2012 at 03:27:57PM +0100, Chris Webb wrote:
"Michael S. Tsirkin" [off-list ref] writes:
quoted
On Thu, Aug 16, 2012 at 10:20:05AM +0100, Chris Webb wrote:
quoted
For example, I can run

  ip addr add 192.168.1.2/24 dev eth0
  ip link set eth0 up
  ip link add link eth0 name tap0 address 02:02:02:02:02:02 type macvtap mode bridge
  ip link set tap0 up
  qemu-kvm -hda debian.img -cpu host -m 512 -vnc :0 \
    -net nic,model=virtio,macaddr=02:02:02:02:02:02 \
    -net tap,fd=3 3<>/dev/tap$(< /sys/class/net/tap0/ifindex)

on one physical host which is otherwise completely idle. From a second
physical host on the same network, I then scp a large (say 50MB) file onto
the new guest. On a gigabit LAN, speeds consistently drop to less than
100kB/s as the transfer progresses, within a second of starting.
quoted
Thanks for the report.
I'll try to reproduce this early next week.
Meanwhile a question - do you still observe this behaviour if you enable
vhost-net?
I haven't tried running with vhost-net before. Is it sufficient to compile
the host kernel with CONFIG_VHOST_NET=y and boot the guest with

  qemu-kvm -hda debian.img -cpu host -m 512 -vnc :0 \
    -net nic,model=virtio,macaddr=02:02:02:02:02:02 \
    -net tap,fd=3,vhost=on,vhostfd=4 \
    3<>/dev/tap$(< /sys/class/net/tap0/ifindex) 4<>/dev/vhost-net

? If so, then I'm afraid this doesn't make any difference: it still stalls
and drops right down in speed.

The reason I'm hesitant about whether the vhost-net is actually working is
that with both vhost=off and vhost=on, I see an identical virtio feature set
within the guest:

  # cat /sys/bus/virtio/devices/virtio0/features 
  0000011000000001111100000000100000000000000000000000000000000000
Yes that is expected.
However, without the 4<>/dev/vhost-net or with 4<>/dev/null, it seems to
fail to start altogether with vhost=on,vhostfd=4, so perhaps it's fine?

Cheers,

Chris.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help