All of lore.kernel.org
 help / color / mirror / Atom feed
* building LIBRTE_PMD_XENVIRT in 32bit triggers some errors
@ 2015-12-02 14:05 Christian Ehrhardt
  2015-12-04 23:56 ` Martinx - ジェームズ
  0 siblings, 1 reply; 9+ messages in thread
From: Christian Ehrhardt @ 2015-12-02 14:05 UTC (permalink / raw)
  To: dev

Hi,
just FYI - building LIBRTE_PMD_XENVIRT in 32bit triggers some errors.

I don't know if that part of the tree is actively maintained - It is
default off, in the config template config/common_linuxapp.

I'm not even entirely sure if  LIBRTE_PMD_XENVIRT is still required.
I guess in the Dom0 you can go with uio-pci-generic these days, not
sure about para-virtual guests.

Anyway I thought it might be worth to at least report.

== Build drivers/net/xenvirt
gcc -Wp,-MD,./.rte_eth_xenvirt.o.d.tmp -m32 -pthread -fPIC
-march=native -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2
-DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3
-DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2
-DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ
-DRTE_MACHINE_CPUFLAG_AVX
-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX
 -I/home/ubuntu/dpdk-2.2.0-rc2/build/include -include
/home/ubuntu/dpdk-2.2.0-rc2/build/include/rte_config.h -O3 -W -Wall
-Werror -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wold-style-definition -Wpointer-arith
-Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral
-Wformat-security -Wundef -Wwrite-strings   -o rte_eth_xenvirt.o -c
/home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/rte_eth_xenvirt.c
In file included from
/home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/rte_eth_xenvirt.c:61:0:
/home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h: In
function ‘virtqueue_enqueue_recv_refill’:
/home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h:201:15:
error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
   (uint64_t) ((uint64_t)cookie->buf_addr + RTE_PKTMBUF_HEADROOM -
sizeof(struct virtio_net_hdr));
               ^
In file included from
/home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/rte_eth_xenvirt.c:51:0:
/home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h: In
function ‘virtqueue_enqueue_xmit’:
/home/ubuntu/dpdk-2.2.0-rc2/build/include/rte_mbuf.h:1617:3: error:
cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
  ((t)((char *)(m)->buf_addr + (m)->data_off + (o)))
   ^
/home/ubuntu/dpdk-2.2.0-rc2/build/include/rte_mbuf.h:1631:32: note: in
expansion of macro ‘rte_pktmbuf_mtod_offset’
 #define rte_pktmbuf_mtod(m, t) rte_pktmbuf_mtod_offset(m, t, 0)
                                ^
/home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h:58:2:
note: in expansion of macro ‘rte_pktmbuf_mtod’
  rte_pktmbuf_mtod(mb, uint64_t)
  ^
/home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h:241:24:
note: in expansion of macro ‘RTE_MBUF_DATA_DMA_ADDR’
  start_dp[idx].addr  = RTE_MBUF_DATA_DMA_ADDR(cookie);
                        ^
cc1: all warnings being treated as errors
/home/ubuntu/dpdk-2.2.0-rc2/mk/internal/rte.compile-pre.mk:126: recipe
for target 'rte_eth_xenvirt.o' failed
make[4]: *** [rte_eth_xenvirt.o] Error 1
/home/ubuntu/dpdk-2.2.0-rc2/mk/rte.subdir.mk:61: recipe for target
'xenvirt' failed
make[3]: *** [xenvirt] Error 2
/home/ubuntu/dpdk-2.2.0-rc2/mk/rte.subdir.mk:61: recipe for target 'net' failed
make[2]: *** [net] Error 2
/home/ubuntu/dpdk-2.2.0-rc2/mk/rte.sdkbuild.mk:93: recipe for target
'drivers' failed
make[1]: *** [drivers] Error 2
/home/ubuntu/dpdk-2.2.0-rc2/mk/rte.sdkroot.mk:124: recipe for target
'all' failed
make: *** [all] Error 2

Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: building LIBRTE_PMD_XENVIRT in 32bit triggers some errors
  2015-12-02 14:05 building LIBRTE_PMD_XENVIRT in 32bit triggers some errors Christian Ehrhardt
@ 2015-12-04 23:56 ` Martinx - ジェームズ
  2015-12-09 17:54   ` Martinx - ジェームズ
  0 siblings, 1 reply; 9+ messages in thread
From: Martinx - ジェームズ @ 2015-12-04 23:56 UTC (permalink / raw)
  To: Christian Ehrhardt; +Cc: dev

On 2 December 2015 at 12:05, Christian Ehrhardt
<christian.ehrhardt@canonical.com> wrote:
> Hi,
> just FYI - building LIBRTE_PMD_XENVIRT in 32bit triggers some errors.
>
> I don't know if that part of the tree is actively maintained - It is
> default off, in the config template config/common_linuxapp.
>
> I'm not even entirely sure if  LIBRTE_PMD_XENVIRT is still required.
> I guess in the Dom0 you can go with uio-pci-generic these days, not
> sure about para-virtual guests.
>
> Anyway I thought it might be worth to at least report.
>
> == Build drivers/net/xenvirt
> gcc -Wp,-MD,./.rte_eth_xenvirt.o.d.tmp -m32 -pthread -fPIC
> -march=native -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2
> -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3
> -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2
> -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ
> -DRTE_MACHINE_CPUFLAG_AVX
> -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX
>  -I/home/ubuntu/dpdk-2.2.0-rc2/build/include -include
> /home/ubuntu/dpdk-2.2.0-rc2/build/include/rte_config.h -O3 -W -Wall
> -Werror -Wstrict-prototypes -Wmissing-prototypes
> -Wmissing-declarations -Wold-style-definition -Wpointer-arith
> -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral
> -Wformat-security -Wundef -Wwrite-strings   -o rte_eth_xenvirt.o -c
> /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/rte_eth_xenvirt.c
> In file included from
> /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/rte_eth_xenvirt.c:61:0:
> /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h: In
> function ‘virtqueue_enqueue_recv_refill’:
> /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h:201:15:
> error: cast from pointer to integer of different size
> [-Werror=pointer-to-int-cast]
>    (uint64_t) ((uint64_t)cookie->buf_addr + RTE_PKTMBUF_HEADROOM -
> sizeof(struct virtio_net_hdr));
>                ^
> In file included from
> /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/rte_eth_xenvirt.c:51:0:
> /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h: In
> function ‘virtqueue_enqueue_xmit’:
> /home/ubuntu/dpdk-2.2.0-rc2/build/include/rte_mbuf.h:1617:3: error:
> cast from pointer to integer of different size
> [-Werror=pointer-to-int-cast]
>   ((t)((char *)(m)->buf_addr + (m)->data_off + (o)))
>    ^
> /home/ubuntu/dpdk-2.2.0-rc2/build/include/rte_mbuf.h:1631:32: note: in
> expansion of macro ‘rte_pktmbuf_mtod_offset’
>  #define rte_pktmbuf_mtod(m, t) rte_pktmbuf_mtod_offset(m, t, 0)
>                                 ^
> /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h:58:2:
> note: in expansion of macro ‘rte_pktmbuf_mtod’
>   rte_pktmbuf_mtod(mb, uint64_t)
>   ^
> /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h:241:24:
> note: in expansion of macro ‘RTE_MBUF_DATA_DMA_ADDR’
>   start_dp[idx].addr  = RTE_MBUF_DATA_DMA_ADDR(cookie);
>                         ^
> cc1: all warnings being treated as errors
> /home/ubuntu/dpdk-2.2.0-rc2/mk/internal/rte.compile-pre.mk:126: recipe
> for target 'rte_eth_xenvirt.o' failed
> make[4]: *** [rte_eth_xenvirt.o] Error 1
> /home/ubuntu/dpdk-2.2.0-rc2/mk/rte.subdir.mk:61: recipe for target
> 'xenvirt' failed
> make[3]: *** [xenvirt] Error 2
> /home/ubuntu/dpdk-2.2.0-rc2/mk/rte.subdir.mk:61: recipe for target 'net' failed
> make[2]: *** [net] Error 2
> /home/ubuntu/dpdk-2.2.0-rc2/mk/rte.sdkbuild.mk:93: recipe for target
> 'drivers' failed
> make[1]: *** [drivers] Error 2
> /home/ubuntu/dpdk-2.2.0-rc2/mk/rte.sdkroot.mk:124: recipe for target
> 'all' failed
> make: *** [all] Error 2
>
> Christian Ehrhardt
> Software Engineer, Ubuntu Server
> Canonical Ltd

Hey guys,

 Is there an easy / fast fix available for this bug?

 DPDK 2.2 with Xen on 32-bit is broken now...

 If not, there will be no way to enable Xen for next Ubuntu LTS, which
is very sad...

 I have a great Xen project planned for Ubuntu 16.04 + DPDK + Xen with
DPDK Apps running on PV domUs!

Thanks!
Thiago

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: building LIBRTE_PMD_XENVIRT in 32bit triggers some errors
  2015-12-04 23:56 ` Martinx - ジェームズ
@ 2015-12-09 17:54   ` Martinx - ジェームズ
  2015-12-09 20:05     ` Thomas Monjalon
  0 siblings, 1 reply; 9+ messages in thread
From: Martinx - ジェームズ @ 2015-12-09 17:54 UTC (permalink / raw)
  To: dev

On 4 December 2015 at 21:56, Martinx - ジェームズ <thiagocmartinsc@gmail.com> wrote:
>
> On 2 December 2015 at 12:05, Christian Ehrhardt
> <christian.ehrhardt@canonical.com> wrote:
> > Hi,
> > just FYI - building LIBRTE_PMD_XENVIRT in 32bit triggers some errors.
> >
> > I don't know if that part of the tree is actively maintained - It is
> > default off, in the config template config/common_linuxapp.
> >
> > I'm not even entirely sure if  LIBRTE_PMD_XENVIRT is still required.
> > I guess in the Dom0 you can go with uio-pci-generic these days, not
> > sure about para-virtual guests.
> >
> > Anyway I thought it might be worth to at least report.
> >
> > == Build drivers/net/xenvirt
> > gcc -Wp,-MD,./.rte_eth_xenvirt.o.d.tmp -m32 -pthread -fPIC
> > -march=native -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2
> > -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3
> > -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2
> > -DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ
> > -DRTE_MACHINE_CPUFLAG_AVX
> > -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX
> >  -I/home/ubuntu/dpdk-2.2.0-rc2/build/include -include
> > /home/ubuntu/dpdk-2.2.0-rc2/build/include/rte_config.h -O3 -W -Wall
> > -Werror -Wstrict-prototypes -Wmissing-prototypes
> > -Wmissing-declarations -Wold-style-definition -Wpointer-arith
> > -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral
> > -Wformat-security -Wundef -Wwrite-strings   -o rte_eth_xenvirt.o -c
> > /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/rte_eth_xenvirt.c
> > In file included from
> > /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/rte_eth_xenvirt.c:61:0:
> > /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h: In
> > function ‘virtqueue_enqueue_recv_refill’:
> > /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h:201:15:
> > error: cast from pointer to integer of different size
> > [-Werror=pointer-to-int-cast]
> >    (uint64_t) ((uint64_t)cookie->buf_addr + RTE_PKTMBUF_HEADROOM -
> > sizeof(struct virtio_net_hdr));
> >                ^
> > In file included from
> > /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/rte_eth_xenvirt.c:51:0:
> > /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h: In
> > function ‘virtqueue_enqueue_xmit’:
> > /home/ubuntu/dpdk-2.2.0-rc2/build/include/rte_mbuf.h:1617:3: error:
> > cast from pointer to integer of different size
> > [-Werror=pointer-to-int-cast]
> >   ((t)((char *)(m)->buf_addr + (m)->data_off + (o)))
> >    ^
> > /home/ubuntu/dpdk-2.2.0-rc2/build/include/rte_mbuf.h:1631:32: note: in
> > expansion of macro ‘rte_pktmbuf_mtod_offset’
> >  #define rte_pktmbuf_mtod(m, t) rte_pktmbuf_mtod_offset(m, t, 0)
> >                                 ^
> > /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h:58:2:
> > note: in expansion of macro ‘rte_pktmbuf_mtod’
> >   rte_pktmbuf_mtod(mb, uint64_t)
> >   ^
> > /home/ubuntu/dpdk-2.2.0-rc2/drivers/net/xenvirt/virtqueue.h:241:24:
> > note: in expansion of macro ‘RTE_MBUF_DATA_DMA_ADDR’
> >   start_dp[idx].addr  = RTE_MBUF_DATA_DMA_ADDR(cookie);
> >                         ^
> > cc1: all warnings being treated as errors
> > /home/ubuntu/dpdk-2.2.0-rc2/mk/internal/rte.compile-pre.mk:126: recipe
> > for target 'rte_eth_xenvirt.o' failed
> > make[4]: *** [rte_eth_xenvirt.o] Error 1
> > /home/ubuntu/dpdk-2.2.0-rc2/mk/rte.subdir.mk:61: recipe for target
> > 'xenvirt' failed
> > make[3]: *** [xenvirt] Error 2
> > /home/ubuntu/dpdk-2.2.0-rc2/mk/rte.subdir.mk:61: recipe for target 'net' failed
> > make[2]: *** [net] Error 2
> > /home/ubuntu/dpdk-2.2.0-rc2/mk/rte.sdkbuild.mk:93: recipe for target
> > 'drivers' failed
> > make[1]: *** [drivers] Error 2
> > /home/ubuntu/dpdk-2.2.0-rc2/mk/rte.sdkroot.mk:124: recipe for target
> > 'all' failed
> > make: *** [all] Error 2
> >
> > Christian Ehrhardt
> > Software Engineer, Ubuntu Server
> > Canonical Ltd
>
> Hey guys,
>
>  Is there an easy / fast fix available for this bug?
>
>  DPDK 2.2 with Xen on 32-bit is broken now...
>
>  If not, there will be no way to enable Xen for next Ubuntu LTS, which
> is very sad...
>
>  I have a great Xen project planned for Ubuntu 16.04 + DPDK + Xen with
> DPDK Apps running on PV domUs!
>
> Thanks!
> Thiago

Hey guys,

 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!

Cheers!
Thiago

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: building LIBRTE_PMD_XENVIRT in 32bit triggers some errors
  2015-12-09 17:54   ` Martinx - ジェームズ
@ 2015-12-09 20:05     ` Thomas Monjalon
  2015-12-09 22:48       ` Martinx - ジェームズ
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Monjalon @ 2015-12-09 20:05 UTC (permalink / raw)
  To: Martinx - ジェームズ; +Cc: dev

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!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: building LIBRTE_PMD_XENVIRT in 32bit triggers some errors
  2015-12-09 20:05     ` Thomas Monjalon
@ 2015-12-09 22:48       ` Martinx - ジェームズ
  2015-12-10  4:45         ` Xie, Huawei
  0 siblings, 1 reply; 9+ messages in thread
From: Martinx - ジェームズ @ 2015-12-09 22:48 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

On 9 December 2015 at 18:05, Thomas Monjalon <thomas.monjalon@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?

 Thank you!

Best,
Thiago

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: building LIBRTE_PMD_XENVIRT in 32bit triggers some errors
  2015-12-09 22:48       ` Martinx - ジェームズ
@ 2015-12-10  4:45         ` Xie, Huawei
  2015-12-10  8:51           ` Thomas Monjalon
  2015-12-21 18:03           ` Martinx - ジェームズ
  0 siblings, 2 replies; 9+ messages in thread
From: Xie, Huawei @ 2015-12-10  4:45 UTC (permalink / raw)
  To: Martinx - ジェームズ, Thomas Monjalon; +Cc: dev

On 12/10/2015 6:49 AM, Martinx - ジェームズ wrote:
> On 9 December 2015 at 18:05, Thomas Monjalon <thomas.monjalon@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
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: building LIBRTE_PMD_XENVIRT in 32bit triggers some errors
  2015-12-10  4:45         ` Xie, Huawei
@ 2015-12-10  8:51           ` Thomas Monjalon
  2015-12-21 18:03           ` Martinx - ジェームズ
  1 sibling, 0 replies; 9+ messages in thread
From: Thomas Monjalon @ 2015-12-10  8:51 UTC (permalink / raw)
  To: Xie, Huawei, stephen; +Cc: dev

2015-12-10 04:45, Xie, Huawei:
> 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?

I think that Stephen told me it was under test.
Stephen, any update?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: building LIBRTE_PMD_XENVIRT in 32bit triggers some errors
  2015-12-10  4:45         ` Xie, Huawei
  2015-12-10  8:51           ` Thomas Monjalon
@ 2015-12-21 18:03           ` Martinx - ジェームズ
  2015-12-22  2:51             ` Xie, Huawei
  1 sibling, 1 reply; 9+ messages in thread
From: Martinx - ジェームズ @ 2015-12-21 18:03 UTC (permalink / raw)
  To: Xie, Huawei; +Cc: dev

On 10 December 2015 at 02:45, Xie, Huawei <huawei.xie@intel.com> wrote:
> On 12/10/2015 6:49 AM, Martinx - ジェームズ wrote:
>> On 9 December 2015 at 18:05, Thomas Monjalon <thomas.monjalon@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...

* 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?)

* 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)?

Thanks again!
Thiago

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: building LIBRTE_PMD_XENVIRT in 32bit triggers some errors
  2015-12-21 18:03           ` Martinx - ジェームズ
@ 2015-12-22  2:51             ` Xie, Huawei
  0 siblings, 0 replies; 9+ messages in thread
From: Xie, Huawei @ 2015-12-22  2:51 UTC (permalink / raw)
  To: Martinx - ジェームズ; +Cc: dev

On 12/22/2015 2:04 AM, Martinx - ジェームズ wrote:
> On 10 December 2015 at 02:45, Xie, Huawei <huawei.xie@intel.com> wrote:
>> On 12/10/2015 6:49 AM, Martinx - ジェームズ wrote:
>>> On 9 December 2015 at 18:05, Thomas Monjalon <thomas.monjalon@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
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-12-22  2:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-02 14:05 building LIBRTE_PMD_XENVIRT in 32bit triggers some errors Christian Ehrhardt
2015-12-04 23:56 ` Martinx - ジェームズ
2015-12-09 17:54   ` Martinx - ジェームズ
2015-12-09 20:05     ` Thomas Monjalon
2015-12-09 22:48       ` Martinx - ジェームズ
2015-12-10  4:45         ` Xie, Huawei
2015-12-10  8:51           ` Thomas Monjalon
2015-12-21 18:03           ` Martinx - ジェームズ
2015-12-22  2:51             ` Xie, Huawei

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.