> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of John McNamara > Sent: Friday, March 27, 2015 1:20 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH v4] doc: Update doc for vhost sample > > From: Ouyang Changchun <changchun.ouyang at intel.com> > > Added some documentation on common issues for the vhost sample app > and how to resolve them. > > Signed-off-by: Changchun Ouyang <changchun.ouyang at intel.com> > Signed-off-by: John McNamara <john.mcnamara at intel.com> > --- > doc/guides/sample_app_ug/vhost.rst | 58 > ++++++++++++++++++++++++++++++++------ > 1 file changed, 50 insertions(+), 8 deletions(-) > > diff --git a/doc/guides/sample_app_ug/vhost.rst > b/doc/guides/sample_app_ug/vhost.rst > index 4a6d434..7e333cf 100644 > --- a/doc/guides/sample_app_ug/vhost.rst > +++ b/doc/guides/sample_app_ug/vhost.rst > @@ -1,3 +1,4 @@ > + > .. BSD LICENSE > Copyright(c) 2010-2014 Intel Corporation. All rights reserved. > All rights reserved. > @@ -640,19 +641,60 @@ To call the QEMU wrapper automatically from > libvirt, the following configuration Common Issues ~~~~~~~~~~~~~ > > -**QEMU failing to allocate memory on hugetlbfs.** > +* QEMU failing to allocate memory on hugetlbfs, with an error like the > following:: > > -file_ram_alloc: can't mmap RAM pages: Cannot allocate memory > + file_ram_alloc: can't mmap RAM pages: Cannot allocate memory > > -When running QEMU the above error implies that it has failed to allocate > memory for the Virtual Machine on the hugetlbfs. > -This is typically due to insufficient hugepages being free to support the > allocation request. > -The number of free hugepages can be checked as follows: > + When running QEMU the above error indicates that it has failed to > allocate memory for the Virtual Machine on > + the hugetlbfs. This is typically due to insufficient hugepages being > free to > support the allocation request. > + The number of free hugepages can be checked as follows: > > -.. code-block:: console > + .. code-block:: console > + > + cat /sys/kernel/mm/hugepages/hugepages-<pagesize>/nr_hugepages > + > + The command above indicates how many hugepages are free to support > QEMU's allocation request. > + > +* User space VHOST when the guest has 2MB sized huge pages: > + > + The guest may have 2MB or 1GB sized huge pages. The user space VHOST > should work properly in both cases. > + > +* User space VHOST will not work with QEMU without the ``-mem- > prealloc`` option: > + > + The current implementation works properly only when the guest memory > is pre-allocated, so it is required to > + use a QEMU version (e.g. 1.6) which supports ``-mem-prealloc``. The ``- > mem-prealloc`` option must be > + specified explicitly in the QEMU command line. > + > +* User space VHOST will not work with a QEMU version without shared > memory mapping: > + > + As shared memory mapping is mandatory for user space VHOST to work > properly with the guest, user space VHOST > + needs access to the shared memory from the guest to receive and > transmit packets. It is important to make sure > + the QEMU version supports shared memory mapping. > + > +* Issues with ``virsh destroy`` not destroying the VM: > + > + Using libvirt ``virsh create`` the ``qemu-wrap.py`` spawns a new process > to > run ``qemu-kvm``. This impacts the behavior > + of ``virsh destroy`` which kills the process running ``qemu-wrap.py`` > without actually destroying the VM (it leaves > + the ``qemu-kvm`` process running): > + > + This following patch should fix this issue: > + http://dpdk.org/ml/archives/dev/2014-June/003607.html > + > +* In an Ubuntu environment, QEMU fails to start a new guest normally > with user space VHOST due to not being able > + to allocate huge pages for the new guest: > + > + The solution for this issue is to add ``-boot c`` into the QEMU command > line to make sure the huge pages are > + allocated properly and then the guest should start normally. > + > + Use ``cat /proc/meminfo`` to check if there is any changes in the value > of > ``HugePages_Total`` and ``HugePages_Free`` > + after the guest startup. > + > +* Log message: ``eventfd_link: module verification failed: signature and/or > required key missing - tainting kernel``: > > - user at target:cat /sys/kernel/mm/hugepages/hugepages-<pagesize> / > nr_hugepages > + This log message may be ignored. The message occurs due to the kernel > module ``eventfd_link``, which is not a standard > + Linux module but which is necessary for the user space VHOST current > implementation (CUSE-based) to communicate with > + the guest. > > -The command above indicates how many hugepages are free to support > QEMU's allocation request. > > Running DPDK in the Virtual Machine > ----------------------------------- > -- > V4: Fixed typos and syntax. > V3: Fixed indentation issue that prevented PDFs from building. > > > 1.8.1.4
Acked-by Siobhan Butler <siobhan.a.butler at intel.com>