qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] vhost-user on qemu qemu-2.5.0-rc2 FAILS for multi-queue
@ 2015-12-03  9:41 Naredula Janardhana Reddy
  2015-12-03 14:08 ` Victor Kaplansky
  2015-12-03 14:37 ` Victor Kaplansky
  0 siblings, 2 replies; 4+ messages in thread
From: Naredula Janardhana Reddy @ 2015-12-03  9:41 UTC (permalink / raw)
  To: QEMU; +Cc: Michael S. Tsirkin

[-- Attachment #1: Type: text/plain, Size: 12302 bytes --]

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
-------------------------------------------------------------------------
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)

[-- Attachment #2: Type: text/html, Size: 13820 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] vhost-user on qemu qemu-2.5.0-rc2 FAILS for multi-queue
  2015-12-03  9:41 [Qemu-devel] vhost-user on qemu qemu-2.5.0-rc2 FAILS for multi-queue Naredula Janardhana Reddy
@ 2015-12-03 14:08 ` Victor Kaplansky
  2015-12-03 14:37 ` Victor Kaplansky
  1 sibling, 0 replies; 4+ messages in thread
From: Victor Kaplansky @ 2015-12-03 14:08 UTC (permalink / raw)
  To: Naredula Janardhana Reddy; +Cc: QEMU, Michael S. Tsirkin

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)
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] vhost-user on qemu qemu-2.5.0-rc2 FAILS for multi-queue
  2015-12-03  9:41 [Qemu-devel] vhost-user on qemu qemu-2.5.0-rc2 FAILS for multi-queue Naredula Janardhana Reddy
  2015-12-03 14:08 ` Victor Kaplansky
@ 2015-12-03 14:37 ` Victor Kaplansky
  2015-12-03 15:54   ` Naredula Janardhana Reddy
  1 sibling, 1 reply; 4+ messages in thread
From: Victor Kaplansky @ 2015-12-03 14:37 UTC (permalink / raw)
  To: Naredula Janardhana Reddy; +Cc: QEMU, Michael S. Tsirkin

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
> -------------------------------------------------------------------------
> 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

Is 0x40000000 returned by the back-end for get_features request?
If so, it has bit 22 cleared, which could explain why MQ feature
is not negotiated.

-- Victor

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] vhost-user on qemu qemu-2.5.0-rc2 FAILS for multi-queue
  2015-12-03 14:37 ` Victor Kaplansky
@ 2015-12-03 15:54   ` Naredula Janardhana Reddy
  0 siblings, 0 replies; 4+ messages in thread
From: Naredula Janardhana Reddy @ 2015-12-03 15:54 UTC (permalink / raw)
  To: Victor Kaplansky; +Cc: QEMU, Michael S. Tsirkin

[-- Attachment #1: Type: text/plain, Size: 3922 bytes --]

Thanks Victor,   After setting MQ feature bit in get_feature response,
Guest vm can see the MQ feature bit enabled, and all the queues are getting
initialized on the vm.

Jana

On 3 December 2015 at 20:07, Victor Kaplansky <victork@redhat.com> wrote:

> 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
> > -------------------------------------------------------------------------
> > 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
>
> Is 0x40000000 returned by the back-end for get_features request?
> If so, it has bit 22 cleared, which could explain why MQ feature
> is not negotiated.
>
> -- Victor
>
>

[-- Attachment #2: Type: text/html, Size: 4939 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-12-03 15:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-03  9:41 [Qemu-devel] vhost-user on qemu qemu-2.5.0-rc2 FAILS for multi-queue Naredula Janardhana Reddy
2015-12-03 14:08 ` Victor Kaplansky
2015-12-03 14:37 ` Victor Kaplansky
2015-12-03 15:54   ` Naredula Janardhana Reddy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).