* The vhost supported features must be exactly the same before and
after the restart. For example, if TSO is disabled and then enabled,
- nothing will work and issues undefined might happen.
+ nothing will work and undefined issues might happen.
No matter which mode is used, once a connection is established, DPDK
vhost-user will start receiving and processing vhost messages from QEMU.
* Memory pre-allocation
- For non-async data path, guest memory pre-allocation is not a
- must. This can help save of memory. If users really want the guest memory
- to be pre-allocated (e.g., for performance reason), we can add option
- ``-mem-prealloc`` when starting QEMU. Or, we can lock all memory at vhost
- side which will force memory to be allocated when mmap at vhost side;
- option --mlockall in ovs-dpdk is an example in hand.
+ For non-async data path guest memory pre-allocation is not a
+ must but can help save memory. To do this we can add option
+ ``-mem-prealloc`` when starting QEMU, or we can lock all memory at vhost
+ side which will force memory to be allocated when it calls mmap
+ (option --mlockall in ovs-dpdk is an example in hand).
+
For async data path, we force the VM memory to be pre-allocated at vhost
lib when mapping the guest memory; and also we need to lock the memory to
* Memory sharing
- Make sure ``share=on`` QEMU option is given. vhost-user will not work with
- a QEMU version without shared memory mapping.
+ Make sure ``share=on`` QEMU option is given. The vhost-user will not work with
+ a QEMU instance without shared memory mapping.
Vhost supported vSwitch reference
---------------------------------