In the QEMU 2.3.0 , The memory regions published to user space application
is limited address space, not the complete memory regions of quest vm, due
to this , the user level app cannot decode all the memory block addresses.
This is needed for reading the packet from virtio ring.

Is there any configuration  in qemu to overcome the above  or it is bug in
virtio-user?.

Test details:
Qemu cmd 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 -mem-path /hugetlbfs
-mem-prealloc
-smp 2 -chardev backend=socket,id=ch1,path=/opt_src/port1 -netdev
vhost-user,id=guest0,chardev=ch1 -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.3 gw=192.168.122.1 nic_intr_off=1
netbh_tightloop=0 page_cache=1  -kernel /opt_src/jiny/jiny_image.bin -drive
if=virtio,id=hdr0,file=/opt_src/jiny/disk
In the below message

The below is message recevied at the user level application from
vhost-user(qemu), the size is only 655k.  but needed is 256M(size of
memory or shared memory size of hugetlb).  I have Temporarly hardcoded the
size in the app by changing the size to 256M from 655K. so that network
packet address can able to decode from  the virtio ring.

Cmd: VHOST_USER_SET_MEM_TABLE (0x5)
flags: 0x1
regions: 2
region:
        gpa = 0x0
        size = 655360
        ua = 0x2aaaaac00000
region:
        gpa = 0x0
        size = 786432
        ua = 0xff40000



Thanks
Jana

Reply via email to