From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Butler, Siobhan A" Subject: Re: [PATCH v4] doc: Update doc for vhost sample Date: Fri, 27 Mar 2015 13:55:19 +0000 Message-ID: <0C5AFCA4B3408848ADF2A3073F7D8CC86D568C4C@IRSMSX109.ger.corp.intel.com> References: <1425286674-17495-1-git-send-email-changchun.ouyang@intel.com> <1427462406-677-1-git-send-email-john.mcnamara@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable To: "Mcnamara, John" , "dev-VfR2kkLFssw@public.gmane.org" Return-path: In-Reply-To: <1427462406-677-1-git-send-email-john.mcnamara-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> Content-Language: en-US List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" > From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of John McNamara > Sent: Friday, March 27, 2015 1:20 PM > To: dev-VfR2kkLFssw@public.gmane.org > Subject: [dpdk-dev] [PATCH v4] doc: Update doc for vhost sample >=20 > From: Ouyang Changchun >=20 > Added some documentation on common issues for the vhost sample app > and how to resolve them. >=20 > Signed-off-by: Changchun Ouyang > Signed-off-by: John McNamara > --- > doc/guides/sample_app_ug/vhost.rst | 58 > ++++++++++++++++++++++++++++++++------ > 1 file changed, 50 insertions(+), 8 deletions(-) >=20 > 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 ~~~~~~~~~~~~~ >=20 > -**QEMU failing to allocate memory on hugetlbfs.** > +* QEMU failing to allocate memory on hugetlbfs, with an error like the > following:: >=20 > -file_ram_alloc: can't mmap RAM pages: Cannot allocate memory > + file_ram_alloc: can't mmap RAM pages: Cannot allocate memory >=20 > -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 th= e > 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: >=20 > -.. code-block:: console > + .. code-block:: console > + > + cat /sys/kernel/mm/hugepages/hugepages-/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 pro= cess 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 comm= and > 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 va= lue of > ``HugePages_Total`` and ``HugePages_Free`` > + after the guest startup. > + > +* Log message: ``eventfd_link: module verification failed: signature a= nd/or > required key missing - tainting kernel``: >=20 > - user@target:cat /sys/kernel/mm/hugepages/hugepages- / > nr_hugepages > + This log message may be ignored. The message occurs due to the kerne= l > 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. >=20 > -The command above indicates how many hugepages are free to support > QEMU's allocation request. >=20 > Running DPDK in the Virtual Machine > ----------------------------------- > -- > V4: Fixed typos and syntax. > V3: Fixed indentation issue that prevented PDFs from building. >=20 >=20 > 1.8.1.4 Acked-by Siobhan Butler