[dpdk-dev] building LIBRTE_PMD_XENVIRT in 32bit triggers some errors

Xie, Huawei huawei.xie at intel.com
Tue Dec 22 03:51:48 CET 2015


On 12/22/2015 2:04 AM, Martinx - ジェームズ wrote:
> On 10 December 2015 at 02:45, Xie, Huawei <huawei.xie at intel.com> wrote:
>> On 12/10/2015 6:49 AM, Martinx - ジェームズ wrote:
>>> On 9 December 2015 at 18:05, Thomas Monjalon <thomas.monjalon at 6wind.com> wrote:
>>>> 2015-12-09 15:54, Martinx - ジェームズ:
>>>>>  Sorry to insist on this subject but, the time for releasing DPDK 2.2
>>>>> is near and DPDK build with Xen 32-bit is broken.
>>>>>
>>>>>  If DPDK doesn't fix this, there will be no way to enable XenVirt
>>>>> support for next Ubuntu LTS 16.04, which is a shame...
>>>>>
>>>>>  I'm planning to use DPDK on Xen domUs (PVM, HVM, XenServer and on
>>>>> Amazon EC2) powered exclusively by a supported version of Ubuntu but,
>>>>> it is broken now...
>>>>>
>>>>>  So, please, can someone take a look into this?    :-P
>>>>>
>>>>>  Thanks in advance!
>>>> Sorry, this area has no maintainer:
>>>>         http://dpdk.org/browse/dpdk/tree/MAINTAINERS#n169
>>>>
>>>> In such case, it may be logic to remove the dead code.
>>>> If someone wants to make it alive, he's welcome!
>>> Hi Thomas,
>>>
>>>  Listen, if DPDK on Xen has no maintainer, where can I find the
>>> current state of DPDK on Xen?
>>>
>>>  I mean, I'm planning to use DPDK with Xen on the following environments:
>>>
>>>  * Amazon EC2 - HVM Enhanced Networking - *priority*
>>>  * XenServer
>>>  * Open Source Xen on Debian / Ubuntu (both PVM / HVM)
>>>
>>>  But, if Xen support on DPDK has no maintainer, how to you guys are
>>> running DPDK on top of Xen (like for example, within Amazon EC2)?
>>>
>>>  If I google for "DPDK Xen", I can find lots of good information but,
>>> I can't find recommended setup / drivers...
>>>
>>>  Do you have any recommendation?
>> Thiago:
>> This xen PMD is based on grant table mechanism and virtio interface.
>> Worth to note is it needs customized backend, which now resides in
>> examples/vhost_xen.
>> Another approach is netfront based PMD, which has kernel netback backend
>> in place, but i guess it couldn't achieve best performance as we need
>> map each grant page in backend. Stephen submitted the patch for netfront
>> PMD http://dpdk.org/dev/patchwork/patch/3330/. Thomas, do you know its
>> status?
>> Anyway i will try to create the XEN environment, and check the issues.
>>
>>>  Thank you!
>>>
>>> Best,
>>> Thiago
>>>
> Hello Xie,
>
> Thank you for your help, I really appreciated it!
>
> Basically, what I would like to understand is:
>
>
> - What is the BEST way of running DPDK inside a Xen domU guest?
>
>
> I'm seeing that there are too many options and not enough
> documentation about each, for example...
>
> * Does DPDK XENVIRT option, depends on XENDOM0 option? However, you
> said that it isn't fast / can't achieve best performance...
XENDOM0 option is for running DPDK in the "DOM0" domain. For running
DPDK PMD in guest, you don't need to enable it.
Every para virtualization has a driver(in the guest) and the device
implementation(in the host domain).
For KVM, the driver is the virtio-net driver(kernel implementation) or
DPDK virtio PMD(user space implementation), and the device is
vhost-net(kernel acceleration implementation) or vhost-user(user space
acceleration implementation).
For XEN, the driver is the netfront, and the device is netback. For
netfront, Stephen has a DPDK netfront PMD, which isn't merged. For
netback, currently there is no DPDK implementation. The possible
performance problem with netfront/netback is for each guest buffer,
netfront in guest has to dynamically allocate grant id from the
hypervisor to establish the mapping, and netback in DOM0 has to
dynamically translate the buffer through grant id. I haven't followed
the thread using permanent mapping to solve this issue. I recall it adds
extra memory copy.

If your purpose is to run DPDK pmd in the guest, and you have no control
of DOM0 domain, you could start with Stephen's netfront.
How about VF PMD in your domU guest?
>
> * Apparently, Xen supports VirtIO (if I'm not wrong), but, I honestly
> don't know for sure, where/when it is available (XenServer? Amazon
> high-perf Net Instance? HVM? PVM?)
For XEN, we provide customized DPDK virtio PMD and DPDK vhost, which
means if you want to run DPDK virtio in XEN guest, you have to run our
dpdk vhost in DOM0 as well.
AFAIK, XEN doesn't support VirtIO. There is some Google program on this.
No idea why it isn't up streamed.
>
> * If Xen supports VirtIO (especially on Amazon / XenServer), isn't
> this the BEST way of running DPDK Apps on top of this kind of
> hypervisor (i.e., by not using XENVIRT at all)?
Yes.
>
> Thanks again!
> Thiago
>



More information about the dev mailing list