On Thu, Dec 03, 2015 at 03:11:57PM +0530, Naredula Janardhana Reddy wrote: > Hi > I am using the latest qemu-2.5.0-rc2 with vhost-user(with multi-queue, > with 3 queues) to test multi-queue feature with vhost-user. In the guest > vm, multi-queue feature flag is not getting enabled . > > On the backend, the backend(user space switch) is receving SET_VRING_ADDR > message only for the first queue, but set VRING_ENABLE message is recevied > for all the 6 rings(or 3 queues). > > On the guest vm, "Multi-queue" feature( bit 22) is not enabled in the host > features(0x409f0024), due to this guest is not enabling multi-queue. > > > Is the vhost-user with multi-queue is fully implemented in the > qemu-2.5.0-rc2?. > > Thanks > Jana
Jana, vhost-user multi-queue in qemu-2.5.0-rc2 passed some very basic testing with ovs-dpdk and was able to send and receive some network traffic over multi-queue vhost-user. I'll take a look into your configuration and logs. -- Victor > ------------------------------------------------------------------------- > Pls find the qemu command line and logs : > > guest vm command line: > ../qemu-system-x86_64 -enable-kvm -gdb tcp::1336,server,nowait -m 256M > -monitor tcp::52001,server,nowait,nodelay -object > memory-backend-file,size=256M,id=ram0,prealloc=yes,mem-path=/mnt/hugetlbfs,share=on > -numa node,memdev=ram0 -mem-prealloc -smp 6 -chardev > socket,id=char1,path=./p1 -netdev > vhost-user,id=guest0,chardev=char1,queues=3 -device > virtio-net-pci,mq=on,vectors=8,mac=00:30:48:DB:5E:01,netdev=guest0 -vnc :8 > -serial telnet::50001,server,nowait -serial telnet::50011,server,nowait > -daemonize -append ipaddr=192.168.122.3 gw=192.168.122.1 hugepages=1 > hw_clock=0 -kernel ./test_image -drive > if=virtio,id=hdr0,file=./test_disk,aio=native > > log on the guest vm: > : Matches inside the NETPROBE.... > 2: VirtioNet: Initializing VIRTIO PCI NET status :1 : pcioaddr:c000 > 2: VirtioNet: HOSTfeatures :409f0024: capabilitie:40 > guestfeatures:100024 mask_features:7000ff > 2:[5] MacAddress, 2:[16] Status, 2:[17] ControlVq, 2:[18] > RxMode, 2:[19] VLanFilter, 2:[20] RxModeExtra, 2: > 2: msi vector start :101 num:8 > 2: create Kernel vmap: msix :ffffffffd0501000-ffffffffd0502000 > size:0M > 2: msix table :ffffffffd0501000 bar addr:febd1000 baroffset:1 > 2: Kernel Adding to LEAF: private page paddr: febd1004 vaddr: > ffffffffd0501004 > 2: addr:ffffffffd0501004 -> Lindex ( 1ff : 1ff : 82 :101 ) > 2: 3: addr:ffffffffd0501004 -> Lindexloc ( ff8 : ff8 : 410 :808 ) > 2: 0: MSIX data :165 address:fee00008 > 2: 1: MSIX data :166 address:fee00008 > 2: 2: MSIX data :167 address:fee00008 > 2: 3: MSIX data :168 address:fee00008 > 2: 4: MSIX data :169 address:fee00008 > 2: 5: MSIX data :16a address:fee00008 > 2: 6: MSIX data :16b address:fee00008 > 2: 7: MSIX data :16c address:fee00008 > 2:MSIX... Configured ISR vector:101 numvector:8 ctrl:8007 > 2: VIRTIONET: pioaddr:c018 MAC address : 0 :30 :48 :db :1820000005e > :ffffffff00000001 mis_vector:ffffffff00000065 : max_vqs:1 > 2: VIRTIONET: initializing MAX VQ's:1 > > > log of user space switch: > ./vhost ./p1 ./p2 0 > <port1-file>: ./p1 <port2-file>: ./p2 > > ................................................................................ > Cmd: VHOST_USER_GET_FEATURES (0x1) > Flags: 0x1 > u64: 0x500000000 > Processing message: VHOST_USER_GET_FEATURES > _get_features > New3333 MQ feature as enabled: SIZE: 8 value:40000000 > ................................................................................ > Cmd: VHOST_USER_GET_protocol_FEATURES (0xf) > Flags: 0x1 > u64: 0x40000000 > Processing message: VHOST_USER_GET_protocol_FEATURES > _get_proto_features > New3333 MQ PROTOCOL feature as enabled: SIZE: 8 value:1 > ................................................................................ > Cmd: VHOST_USER_NOTDEFINED2 (0x10) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_NOTDEFINED2 > _set_features > set protocol features SIZE: 8 value:1 > ................................................................................ > Cmd: VHOST_USER_GET_QNUMBER (0x11) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_GET_QNUMBER > _get_qnumber > New3333 qnumber as enabled: SIZE: 8 value:3 > ................................................................................ > Cmd: VHOST_USER_SET_OWNER (0x3) > Flags: 0x1 > Processing message: VHOST_USER_SET_OWNER > _set_owner > ................................................................................ > Cmd: VHOST_USER_GET_FEATURES (0x1) > Flags: 0x1 > u64: 0x3 > Processing message: VHOST_USER_GET_FEATURES > _get_features > New3333 MQ feature as enabled: SIZE: 8 value:40000000 > ................................................................................ > Cmd: VHOST_USER_SET_VRING_CALL (0xd) > Flags: 0x1 > u64: 0x0 > Processing message: VHOST_USER_SET_VRING_CALL > _set_vring_call > Got callfd 0x6 > ................................................................................ > Cmd: VHOST_USER_SET_VRING_CALL (0xd) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_SET_VRING_CALL > _set_vring_call > Got callfd 0x7 > ................................................................................ > Cmd: VHOST_USER_GET_FEATURES (0x1) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_GET_FEATURES > _get_features > New3333 MQ feature as enabled: SIZE: 8 value:40000000 > ................................................................................ > Cmd: VHOST_USER_GET_protocol_FEATURES (0xf) > Flags: 0x1 > u64: 0x40000000 > Processing message: VHOST_USER_GET_protocol_FEATURES > _get_proto_features > New3333 MQ PROTOCOL feature as enabled: SIZE: 8 value:1 > ................................................................................ > Cmd: VHOST_USER_NOTDEFINED2 (0x10) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_NOTDEFINED2 > _set_features > set protocol features SIZE: 8 value:1 > ................................................................................ > Cmd: VHOST_USER_GET_FEATURES (0x1) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_GET_FEATURES > _get_features > New3333 MQ feature as enabled: SIZE: 8 value:40000000 > ................................................................................ > Cmd: VHOST_USER_SET_VRING_CALL (0xd) > Flags: 0x1 > u64: 0x2 > Processing message: VHOST_USER_SET_VRING_CALL > _set_vring_call > Got callfd 0x8 > ................................................................................ > Cmd: VHOST_USER_SET_VRING_CALL (0xd) > Flags: 0x1 > u64: 0x3 > Processing message: VHOST_USER_SET_VRING_CALL > _set_vring_call > Got callfd 0x9 > ................................................................................ > Cmd: VHOST_USER_GET_FEATURES (0x1) > Flags: 0x1 > u64: 0x3 > Processing message: VHOST_USER_GET_FEATURES > _get_features > New3333 MQ feature as enabled: SIZE: 8 value:40000000 > ................................................................................ > Cmd: VHOST_USER_GET_protocol_FEATURES (0xf) > Flags: 0x1 > u64: 0x40000000 > Processing message: VHOST_USER_GET_protocol_FEATURES > _get_proto_features > New3333 MQ PROTOCOL feature as enabled: SIZE: 8 value:1 > ................................................................................ > Cmd: VHOST_USER_NOTDEFINED2 (0x10) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_NOTDEFINED2 > _set_features > set protocol features SIZE: 8 value:1 > ................................................................................ > Cmd: VHOST_USER_GET_FEATURES (0x1) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_GET_FEATURES > _get_features > New3333 MQ feature as enabled: SIZE: 8 value:40000000 > ................................................................................ > Cmd: VHOST_USER_SET_VRING_CALL (0xd) > Flags: 0x1 > u64: 0x4 > Processing message: VHOST_USER_SET_VRING_CALL > _set_vring_call > Got callfd 0xa > ................................................................................ > Cmd: VHOST_USER_SET_VRING_CALL (0xd) > Flags: 0x1 > u64: 0x5 > Processing message: VHOST_USER_SET_VRING_CALL > _set_vring_call > Got callfd 0xb > ................................................................................ > Cmd: VHOST_USER_VRING_ENABLE (0x12) > Flags: 0x1 > u64: 0x100000000 > Processing message: VHOST_USER_VRING_ENABLE > _vring_enable > SET vring enable: SIZE: 8 value:0 > ................................................................................ > Cmd: VHOST_USER_VRING_ENABLE (0x12) > Flags: 0x1 > u64: 0x100000001 > Processing message: VHOST_USER_VRING_ENABLE > _vring_enable > SET vring enable: SIZE: 8 value:1 > ................................................................................ > Cmd: VHOST_USER_VRING_ENABLE (0x12) > Flags: 0x1 > u64: 0x2 > Processing message: VHOST_USER_VRING_ENABLE > _vring_enable > SET vring enable: SIZE: 8 value:2 > ................................................................................ > Cmd: VHOST_USER_VRING_ENABLE (0x12) > Flags: 0x1 > u64: 0x3 > Processing message: VHOST_USER_VRING_ENABLE > _vring_enable > SET vring enable: SIZE: 8 value:3 > ................................................................................ > Cmd: VHOST_USER_VRING_ENABLE (0x12) > Flags: 0x1 > u64: 0x4 > Processing message: VHOST_USER_VRING_ENABLE > _vring_enable > SET vring enable: SIZE: 8 value:4 > ................................................................................ > Cmd: VHOST_USER_VRING_ENABLE (0x12) > Flags: 0x1 > u64: 0x5 > Processing message: VHOST_USER_VRING_ENABLE > _vring_enable > SET vring enable: SIZE: 8 value:5 > ................................................................................ > Cmd: VHOST_USER_SET_VRING_CALL (0xd) > Flags: 0x1 > u64: 0x0 > Processing message: VHOST_USER_SET_VRING_CALL > _set_vring_call > Got callfd 0xc > ................................................................................ > Cmd: VHOST_USER_SET_VRING_CALL (0xd) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_SET_VRING_CALL > _set_vring_call > Got callfd 0xd > ................................................................................ > Cmd: VHOST_USER_SET_FEATURES (0x2) > Flags: 0x1 > u64: 0x40000000 > Processing message: VHOST_USER_SET_FEATURES > _set_features > set protocol features SIZE: 8 value:40000000 > ................................................................................ > Cmd: VHOST_USER_SET_MEM_TABLE (0x5) > Flags: 0x1 > nregions: 2 > region: > gpa = 0x0 > size = 655360 > ua = 0x7fb705600000 > region: > gpa = 0x0 > size = 786432 > ua = 0xff40000 > Processing message: VHOST_USER_SET_MEM_TABLE > _set_mem_table > Temporay FIX .... :0x10000000 guest addr:(nil) > userspace_addr:0x7fb705600000 mmap_addr:0x7f03d5600000 > Got memory.nregions 1 > ................................................................................ > Cmd: VHOST_USER_SET_VRING_NUM (0x8) > Flags: 0x1 > state: 0 256 > Processing message: VHOST_USER_SET_VRING_NUM > _set_vring_num > ................................................................................ > Cmd: VHOST_USER_SET_VRING_BASE (0xa) > Flags: 0x1 > state: 0 0 > Processing message: VHOST_USER_SET_VRING_BASE > _set_vring_base > ................................................................................ > Cmd: VHOST_USER_SET_VRING_ADDR (0x9) > Flags: 0x1 > addr: > idx = 0 > flags = 0x0 > dua = 0x7fb70ac90000 > uua = 0x7fb70ac92000 > aua = 0x7fb70ac91000 > lga = 0x5692000 > Processing message: VHOST_USER_SET_VRING_ADDR > _set_vring_addr > ................................................................................ > Cmd: VHOST_USER_SET_VRING_KICK (0xc) > Flags: 0x1 > u64: 0x0 > Processing message: VHOST_USER_SET_VRING_KICK > _set_vring_kick > Got kickfd 0x10 > ................................................................................ > Cmd: VHOST_USER_SET_VRING_NUM (0x8) > Flags: 0x1 > state: 1 256 > Processing message: VHOST_USER_SET_VRING_NUM > _set_vring_num > ................................................................................ > Cmd: VHOST_USER_SET_VRING_BASE (0xa) > Flags: 0x1 > state: 1 0 > Processing message: VHOST_USER_SET_VRING_BASE > _set_vring_base > ................................................................................ > Cmd: VHOST_USER_SET_VRING_ADDR (0x9) > Flags: 0x1 > addr: > idx = 1 > flags = 0x0 > dua = 0x7fb70acbc000 > uua = 0x7fb70acbe000 > aua = 0x7fb70acbd000 > lga = 0x56be000 > Processing message: VHOST_USER_SET_VRING_ADDR > _set_vring_addr > ................................................................................ > Cmd: VHOST_USER_SET_VRING_KICK (0xc) > Flags: 0x1 > u64: 0x1 > Processing message: VHOST_USER_SET_VRING_KICK > _set_vring_kick > Got kickfd 0x11 > Listening for kicks on 0x11 > Got LATEST KICK 1 > PORT1: 0: AAvail(0x7f03dac91000) inx:128 flag:1 Used(0x7f03dac92000)idx:0 > flag:0 diff:128 desc:(0x7f03dac90000) > PORT1: 1: AAvail(0x7f03dacbd000) inx:0 flag:1 Used(0x7f03dacbe000)idx:0 > flag:0 diff:0 desc:(0x7f03dacbc000) >