[meta-intel] [PATCHv2 1/2] meta-intel/common: Initial Intel DPDK recipe under recipes-extended

2014-07-10 Thread wei . sern . chan
From: Chan Wei Sern wei.sern.c...@intel.com

This is an initial version of Intel Data Plane Development Kits
(DPDK) recipe support. This recipe is targetting on Intel DPDK
v1.6.0r2. This recipe is created under meta-intel/common because
Intel DPDK can be commonly used several Intel BSP platforms such
as Romley, Crystal-Forest  Mohon-peak. We resolved examples apps
build failure found in v1.6.0-r2 by cherry-picking patches from
v1.7.0 as they are not planned to be fixed in v1.6.0-r2. The
example app build failure are found in qos_sched, eal_flags_autotest
and cmdline_autotest.

Signed-off-by: Chan Wei Sern wei.sern.c...@intel.com
---
 ...ix-build-switches-to-enable-cmdline-tests.patch |  49 ++
 ...dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch |  31 
 ...k-1.6.0r2-examples-qos_sched-fix-makefile.patch |  31 
 common/recipes-extended/dpdk/dpdk_1.6.0r2.bb   | 167 +
 4 files changed, 278 insertions(+)
 create mode 100644 
common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch
 create mode 100644 
common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch
 create mode 100644 
common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-examples-qos_sched-fix-makefile.patch
 create mode 100644 common/recipes-extended/dpdk/dpdk_1.6.0r2.bb

diff --git 
a/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch
 
b/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch
new file mode 100644
index 000..eab4776
--- /dev/null
+++ 
b/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch
@@ -0,0 +1,49 @@
+From cf953d2bfa7df9aa67459b333db4d4d8a9e72fd6 Mon Sep 17 00:00:00 2001
+From: Thomas Monjalon thomas.monja...@6wind.com
+Date: Fri, 27 Jun 2014 11:21:11 +0200
+Subject: [PATCH] app/test: fix build switches to enable cmdline tests
+
+There were 2 typos since these commits (in 1.6.0 releases):
+   21a7f4e264 fix build without librte_cmdline
+   cac6d08c8b replace --use-device option by --pci-whitelist and --vdev
+In makefiles, the build options are prefixed with CONFIG_RTE_
+but in .c file, it is only RTE_.
+
+These typos were disabling cmdline unit tests and test of --vdev eth_ring 
option.
+
+Signed-off-by: Thomas Monjalon thomas.monja...@6wind.com
+Acked-by: Pablo de Lara pablo.de.lara.gua...@intel.com
+---
+ app/test/test_cmdline.c   | 2 +-
+ app/test/test_eal_flags.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/app/test/test_cmdline.c b/app/test/test_cmdline.c
+index 77475c4..10a3f77 100644
+--- a/app/test/test_cmdline.c
 b/app/test/test_cmdline.c
+@@ -39,7 +39,7 @@
+ int
+ test_cmdline(void)
+ {
+-#ifdef CONFIG_RTE_LIBRTE_CMDLINE
++#ifdef RTE_LIBRTE_CMDLINE
+   printf(Testind parsing ethernet addresses...\n);
+   if (test_parse_etheraddr_valid()  0)
+   return -1;
+diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
+index a862654..1b80b80 100644
+--- a/app/test/test_eal_flags.c
 b/app/test/test_eal_flags.c
+@@ -317,7 +317,7 @@ test_whitelist_flag(void)
+   const char *wlval3[] = {prgname, prefix, mp_flag, -n, 1, -c, 1,
+   pci_whitelist, 09:0B.3,type=test,
+   pci_whitelist, 08:00.1,type=normal,
+-#ifdef CONFIG_RTE_LIBRTE_PMD_RING
++#ifdef RTE_LIBRTE_PMD_RING
+   vdev, eth_ring,arg=test,
+ #endif
+   };
+-- 
+1.9.1
+
diff --git 
a/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch
 
b/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch
new file mode 100644
index 000..971d0c5
--- /dev/null
+++ 
b/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch
@@ -0,0 +1,31 @@
+From be1816f59e772e427fc5815281f9458a9314973a Mon Sep 17 00:00:00 2001
+From: Pablo de Lara pablo.de.lara.gua...@intel.com
+Date: Thu, 19 Jun 2014 16:35:22 +0100
+Subject: [PATCH] eal: fix option --base-virtaddr
+
+When parsing EAL option --base-virtaddr
+errno was not being set to 0 before calling strtoull,
+therefore function might fail unnecesarily.
+
+Signed-off-by: Pablo de Lara pablo.de.lara.gua...@intel.com
+Signed-off-by: Aaron Campbell aa...@arbor.net
+Acked-by: Anatoly Burakov anatoly.bura...@intel.com
+---
+ lib/librte_eal/linuxapp/eal/eal.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/librte_eal/linuxapp/eal/eal.c 
b/lib/librte_eal/linuxapp/eal/eal.c
+index 6994303..d204387 100644
+--- a/lib/librte_eal/linuxapp/eal/eal.c
 b/lib/librte_eal/linuxapp/eal/eal.c
+@@ -562,6 +562,7 @@ eal_parse_base_virtaddr(const char *arg)
+   char *end;
+   uint64_t addr;
+ 
++  errno = 0;
+   addr = strtoull(arg, end, 16);
+ 
+   /* check for errors */
+-- 
+1.9.1
+
diff --git 

[meta-intel] [PATCHv2 2/2] meta-romley: add Intel DPDK v1.6.0r2 support Romley machine config

2014-07-10 Thread wei . sern . chan
From: Chan Wei Sern wei.sern.c...@intel.com

Added MACHINE_EXTRA_RRECOMMENDS to include dpdk for romley machine
configuration so that building on Romley will automatically pick up
Intel DPDK. This is an initial version of Intel DPDK support in Romley
that is default target version 1.6.0r2.

Signed-off-by: Chan Wei Sern wei.sern.c...@intel.com
---
 meta-romley/conf/machine/romley-ivb.conf | 4 +++-
 meta-romley/conf/machine/romley.conf | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta-romley/conf/machine/romley-ivb.conf 
b/meta-romley/conf/machine/romley-ivb.conf
index af52897..54d2d30 100644
--- a/meta-romley/conf/machine/romley-ivb.conf
+++ b/meta-romley/conf/machine/romley-ivb.conf
@@ -7,7 +7,6 @@
 #@DESCRIPTION: Machine configuration for Romley systems
 # i.e. Xeon E5-2600 and E5-2400 + Intel CC604/C602-J
 
-
 PREFERRED_VERSION_linux-yocto ?= 3.10%
 
 require conf/machine/include/intel-corei7-64-common.inc
@@ -18,3 +17,6 @@ XSERVER ?= ${XSERVER_X86_BASE} \
${XSERVER_X86_EXT} \
   ${XSERVER_X86_MATROX_MGA} \

+
+MACHINE_EXTRA_RRECOMMENDS += dpdk \
+  
diff --git a/meta-romley/conf/machine/romley.conf 
b/meta-romley/conf/machine/romley.conf
index ed52a1e..2e17114 100644
--- a/meta-romley/conf/machine/romley.conf
+++ b/meta-romley/conf/machine/romley.conf
@@ -7,7 +7,6 @@
 #@DESCRIPTION: Machine configuration for Romley systems
 # i.e. Xeon E5-2600 and E5-2400 + Intel CC604/C602-J
 
-
 PREFERRED_VERSION_linux-yocto ?= 3.10%
 
 require conf/machine/include/intel-corei7-64-common.inc
@@ -18,3 +17,6 @@ XSERVER ?= ${XSERVER_X86_BASE} \
${XSERVER_X86_EXT} \
   ${XSERVER_X86_MATROX_MGA} \

+
+MACHINE_EXTRA_RRECOMMENDS += dpdk \
+  
-- 
1.9.1

-- 
___
meta-intel mailing list
meta-intel@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-intel


Re: [meta-intel] [PATCHv2 2/2] meta-romley: add Intel DPDK v1.6.0r2 support Romley machine config

2014-07-10 Thread Burton, Ross
On 10 July 2014 09:40,  wei.sern.c...@intel.com wrote:
 Added MACHINE_EXTRA_RRECOMMENDS to include dpdk for romley machine
 configuration so that building on Romley will automatically pick up
 Intel DPDK.

As far as I'm aware DPDK on it's own doesn't serve any purpose - it's
a development kit/library and you need to build *something* against it
to get the increased network performance for that application.

If this is the case then it shouldn't be installed by default in every
romley image.

Ross
-- 
___
meta-intel mailing list
meta-intel@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-intel


Re: [meta-intel] [PATCHv2 1/2] meta-intel/common: Initial Intel DPDK recipe under recipes-extended

2014-07-10 Thread Burton, Ross
On 10 July 2014 09:40,  wei.sern.c...@intel.com wrote:
 +++ 
 b/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch
 @@ -0,0 +1,49 @@
 +From cf953d2bfa7df9aa67459b333db4d4d8a9e72fd6 Mon Sep 17 00:00:00 2001
 +From: Thomas Monjalon thomas.monja...@6wind.com
 +Date: Fri, 27 Jun 2014 11:21:11 +0200
 +Subject: [PATCH] app/test: fix build switches to enable cmdline tests
 +
 +There were 2 typos since these commits (in 1.6.0 releases):
 +   21a7f4e264 fix build without librte_cmdline
 +   cac6d08c8b replace --use-device option by --pci-whitelist and --vdev
 +In makefiles, the build options are prefixed with CONFIG_RTE_
 +but in .c file, it is only RTE_.
 +
 +These typos were disabling cmdline unit tests and test of --vdev eth_ring 
 option.
 +
 +Signed-off-by: Thomas Monjalon thomas.monja...@6wind.com
 +Acked-by: Pablo de Lara pablo.de.lara.gua...@intel.com

Patches need to have a Signed-Off-By (presumably, you) and
Upstream-Status (in this case, Backport) at the top.  This is so we
know who is responsible for bringing the patch into oe-core, and that
as a backport its likely to be removed in the future.

 +# Recipe Ingredients (source, patch, etc)

Pointless comment.

 +export INSTALL_PATH = ${prefix}/dpdk

Urgh, if it can't be told to install into $datadir $libdir etc, then that's sad.

Ross
-- 
___
meta-intel mailing list
meta-intel@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-intel


Re: [meta-intel] [PATCHv2 1/2] meta-intel/common: Initial Intel DPDK recipe under recipes-extended

2014-07-10 Thread Burton, Ross
On 10 July 2014 09:40,  wei.sern.c...@intel.com wrote:
 This is an initial version of Intel Data Plane Development Kits
 (DPDK) recipe support. This recipe is targetting on Intel DPDK
 v1.6.0r2. This recipe is created under meta-intel/common because
 Intel DPDK can be commonly used several Intel BSP platforms such
 as Romley, Crystal-Forest  Mohon-peak. We resolved examples apps
 build failure found in v1.6.0-r2 by cherry-picking patches from
 v1.7.0 as they are not planned to be fixed in v1.6.0-r2. The
 example app build failure are found in qos_sched, eal_flags_autotest
 and cmdline_autotest.

This fails a build from clean:

| 
/data/poky-master/tmp/work/nuc-poky-linux/dpdk/1.6.0r2-r0/temp/run.do_compile.7306:
129: [: cmdline: unexpected operator
| 
/data/poky-master/tmp/work/nuc-poky-linux/dpdk/1.6.0r2-r0/temp/run.do_compile.7306:
129: [: dpdk_qat: unexpected operator

Your logic is probably expanding to empty strings.

| make[1]: Entering directory
`/data/poky-master/tmp/work/nuc-poky-linux/dpdk/1.6.0r2-r0/dpdk-1.6.0r2/examples/dpdk_qat/build'
|   CC main.o
|   CC crypto.o
| 
/data/poky-master/tmp/work/nuc-poky-linux/dpdk/1.6.0r2-r0/dpdk-1.6.0r2/examples/dpdk_qat/crypto.c:64:17:
fatal error: cpa.h: No such file or directory
|  #include cpa.h

Missing build dependency?  Before submitting, it's best to always wipe
your build directory (just delete tmp/, or use wipe-sysroot) to verify
that you have the correct build dependencies.

Ross
-- 
___
meta-intel mailing list
meta-intel@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-intel