qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] virtio-net Multi-queue: only first queue is bi-directional


From: Naredula Janardhana Reddy
Subject: [Qemu-devel] virtio-net Multi-queue: only first queue is bi-directional , rest are uni-directional.
Date: Mon, 13 Jul 2015 15:37:46 +0530

HI,
  With multi-queue in virtio-net in qemu 2.3.0,  only first queue is bi-directional , rest are uni-directional.

used 3 virtio queus/channels, but only the first is bi-directional, rest two are uni-directional.  Is it any way to control the recving on all three instead of just first one.

command line:
/opt/qemu.2.3.0/bin/qemu-system-x86_64 -enable-kvm -gdb tcp::1336,server,nowait -monitor tcp::51008,server,nowait,nodelay -m 256M -smp 2 -netdev tap,id=guest0,vhost=on,vhostforce,queues=3 -device virtio-net-pci,mac=00:30:48:DB:5E:01,netdev=guest0,mq=on,vectors=8 -vnc :8 -serial telnet::50008,server,nowait -daemonize -append net_send_int_disable=1 ipaddr=192.168.122.2 gw=192.168.122.1 nic_intr_off=0 hugepages=0 -kernel /opt_src/jiny/jiny_image.bin -drive if=none,id=hdr0,cache=none,aio=native,format=raw,file=/opt_src/jiny/disk -device virtio-blk-pci,drive=hdr0,id=vhdr,bus=pci.0,addr=0x4,scsi=off,config-wce=off,x-data-plane=on

Debug Info in the guest kernel(Jiny)
Total queues: 3
VQ-0 :
                RECV-vq:ffffc900056bd020 size:256 num_free:16  free_head:240 used:4894(18580) avail:490c(18700) diff:ff88 last_use_idx:4894 alloc:4868364 free:4868244
                SEND-vq:ffffc900056bc020 size:256 num_free:254  free_head:28 used:6900(26880) avail:6900(26880) diff:0 last_use_idx:68ff alloc:1206528 free:1206527
VQ-1 :
                RECV-vq:ffffc900056ad020 size:256 num_free:16  free_head:240 used:0(0) avail:78(120) diff:ff88 last_use_idx:0 alloc:120 free:0
                SEND-vq:ffffc900056ac020 size:256 num_free:254  free_head:96 used:77ad(30637) avail:77ad(30637) diff:0 last_use_idx:77ac alloc:1210285 free:1210284
VQ-2 :
                RECV-vq:ffffc9000ffbf020 size:256 num_free:16  free_head:240 used:0(0) avail:78(120) diff:ff88 last_use_idx:0 alloc:120 free:0
                SEND-vq:ffffc9000ffbe020 size:256 num_free:254  free_head:194 used:7afb(31483) avail:7afb(31483) diff:0 last_use_idx:7afa alloc:1211131 free:1211130


 1) three queues are opened, the packets can able to recv only from the first queue, not all.
2) Packets can able to send all the three queues..
3) able to see 3 vhost-threads on the vhost.

Here only the first queue  is able to recv the packets. cpu utilization of first vhost thread is double that of rest, since it is used for sending aswell as recving.

  Is there any way to make all queues bi-directional?
 
Thanks
Jana
 

reply via email to

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