[dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

2016-06-28 Thread Martinx - ジェームズ
On 16 June 2016 at 11:31, Ferruh Yigit  wrote:

> On 6/15/2016 7:59 PM, Martinx - ? wrote:
> > On 13 June 2016 at 12:15, Martinx - ?
> > mailto:thiagocmartinsc at gmail.com>> wrote:
> >
> >
> >
> > On 12 June 2016 at 11:30, Rosen, Rami  > > wrote:
> >
> > Hi Thiago,
> >
> > > Any clue?
> >
> > Sure. This is the reason: in
> > dpdk-16.04/lib/librte_eal/linuxapp/igb_uio we have:
> > 
> > #ifndef PCI_MSIX_ENTRY_SIZE
> > #define PCI_MSIX_ENTRY_SIZE 16
> > #define  PCI_MSIX_ENTRY_LOWER_ADDR  0
> > #define  PCI_MSIX_ENTRY_UPPER_ADDR  4
> > #define  PCI_MSIX_ENTRY_DATA8
> > #define  PCI_MSIX_ENTRY_VECTOR_CTRL 12
> > #define   PCI_MSIX_ENTRY_CTRL_MASKBIT   1
> > #endif
> > ...
> >
> > The root cause of the problem is due to that in CentOS 6.8,
> > PCI_MSIX_ENTRY_SIZE is defined; this
> > causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT
> > definition as shown above.
> >
> > The definition of PCI_MSIX_ENTRY_SIZE is due to the following
> > patch, which was introduced in CentOS 6.8, which moved
> > PCI_MSIX_ENTRY_SIZE from the inner drivers/pci/msi.h header file
> > into include/linux/pci_regs.h,
> > The linux/pci_regs.h is included in the pci.h header, which is
> > used by the igb_uio.c, which failed in compilation.
> >
> > "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h"
> >
> > --- a/drivers/pci/msi.h
> > +++ b/drivers/pci/msi.h
> > @@ -6,12 +6,6 @@
> > #ifndef MSI_H
> > #define MSI_H
> >
> > -#define PCI_MSIX_ENTRY_SIZE16
> > ...
> > ...
> > ...
> > diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h
> > index 455b9cc..acfc224 100644
> > --- a/include/linux/pci_regs.h
> > +++ b/include/linux/pci_regs.h
> > @@ -307,6 +307,13 @@
> > #define PCI_MSIX_FLAGS_MASKALL  (1 << 14)
> > #define PCI_MSIX_FLAGS_BIRMASK  (7 << 0)
> >
> > +/* MSI-X entry's format */
> > +#define PCI_MSIX_ENTRY_SIZE16
> > 
> >
> >
> http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h
> >
> > See also:
> > rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm |
> > grep "Move MSI-X entry"
> > warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3
> > RSA/SHA1 Signature, key ID c105b9de: NOKEY
> > - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron
> > Stowe) [1288629
> >
> >
> > A proper patch which checks kernel version can fix it.
> >
> > Regards,
> > Rami Rosen
> > Intel Corporation
> >
> >
> > Interesting!
> >
> > Do you have this proper fix? I would like to build and use DPDK on
> > CentOS 6.8...
> >
> > Thank you for your reply!
> >
> > Best,
> > Thiago
> >
> >
> > Hey guys,
> >
> > I tried something different, just for testing, and it also doesn't build.
> >
> > What I tried was to install the "centos-release-xen" repo, and run "yum
> > upgrade" in my CentOS 6.8 box, this way, I can receive a new Kernel for
> > it, which is "3.18.34-20.el6.x86_64", and here is the DPDK build error
> now:
> >
> > ---
> > ...
> >   CC eal_common_dev.o
> > cc1: warnings being treated as errors
> >
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:
> > In function 'igbuio_pci_probe':
> > /usr/src/kernels/3.18.34-20.el6.x86_64/include/linux/slab.h:582: error:
> > inlining failed in call to 'kzalloc.clone.0': --param
> > max-inline-insns-single limit reached
> >
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:383:
> > error: called from here
> > make[8]: ***
> >
> [/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o]
> > Error 1
> > make[7]: ***
> >
> [_module_/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio]
> > Error 2
> <...>
>
> I did able to compile dpdk16.04 with 3.18.34-20.el6.x86_64, is the
> problem can be related to gcc version? For me both gcc 5.3.1 and 4.9.3
> worked fine.
>
> Or for "max-inline-insns-single limit reached" issue you can try
> increasing the gcc limit: -finline-limit=n
>
>
Hey Ferruh,

I'm facing this "max-inline-insns-single limit reached" problem now (while
trying to compile DPDK-16.04 on "3.18.34-20.el6.x86_64".

So, as you suggested, I changed the limit from 100 to 400, here:

dpdk-16.04/lib/librte_eal/linuxapp/igb_uio/Makefile

...and it worked!

The CentOS 6.8 "centos-xen-release" YUM/RPM package brings Linux 3.18 to
it, a new life 

[dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

2016-06-16 Thread Murali Krishna
Hi,

I faced the same problem while building dpdk(1.7.1, 1.8.0, 2.0.0, 2.2.0) on
Rhel6.8 GA kernel. Disabling CONFIG_RTE_EAL_IGB_UIO and CONFIG_RTE_KNI_KMOD
in dpdk-X/config/common_linuxapp resolved this issue.

Br,
Murali

-Original Message-
From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Martinx - ?
Sent: Thursday, June 16, 2016 12:29 AM
To: Rosen, Rami
Cc: Yigit, Ferruh; dev
Subject: Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

On 13 June 2016 at 12:15, Martinx - ?  wrote:

>
>
> On 12 June 2016 at 11:30, Rosen, Rami  wrote:
>
>> Hi Thiago,
>>
>> > Any clue?
>>
>> Sure. This is the reason: in
>> dpdk-16.04/lib/librte_eal/linuxapp/igb_uio
>> we have:
>> 
>> #ifndef PCI_MSIX_ENTRY_SIZE
>> #define PCI_MSIX_ENTRY_SIZE 16
>> #define  PCI_MSIX_ENTRY_LOWER_ADDR  0
>> #define  PCI_MSIX_ENTRY_UPPER_ADDR  4
>> #define  PCI_MSIX_ENTRY_DATA8
>> #define  PCI_MSIX_ENTRY_VECTOR_CTRL 12
>> #define   PCI_MSIX_ENTRY_CTRL_MASKBIT   1
>> #endif
>> ...
>>
>> The root cause of the problem is due to that in CentOS 6.8,
>> PCI_MSIX_ENTRY_SIZE is defined; this causes *avoiding* having the
>> PCI_MSIX_ENTRY_CTRL_MASKBIT definition as shown above.
>>
>> The definition of PCI_MSIX_ENTRY_SIZE is due to the following patch,
>> which was introduced in CentOS 6.8, which moved PCI_MSIX_ENTRY_SIZE
>> from the inner drivers/pci/msi.h header file into
>> include/linux/pci_regs.h, The linux/pci_regs.h is included in the
>> pci.h header, which is used by the igb_uio.c, which failed in
>> compilation.
>>
>> "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h"
>>
>> --- a/drivers/pci/msi.h
>> +++ b/drivers/pci/msi.h
>> @@ -6,12 +6,6 @@
>> #ifndef MSI_H
>> #define MSI_H
>>
>> -#define PCI_MSIX_ENTRY_SIZE16
>> ...
>> ...
>> ...
>> diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h
>> index 455b9cc..acfc224 100644
>> --- a/include/linux/pci_regs.h
>> +++ b/include/linux/pci_regs.h
>> @@ -307,6 +307,13 @@
>> #define PCI_MSIX_FLAGS_MASKALL  (1 << 14) #define
>> PCI_MSIX_FLAGS_BIRMASK  (7 << 0)
>>
>> +/* MSI-X entry's format */
>> +#define PCI_MSIX_ENTRY_SIZE16
>> 
>>
>>
>> http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-m
>> ove-msi-x-entry-definition-to-pci-regs-h
>>
>> See also:
>> rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | grep
>> "Move MSI-X entry"
>> warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 RSA/SHA1
>> Signature, key ID c105b9de: NOKEY
>> - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe)
>> [1288629
>>
>>
>> A proper patch which checks kernel version can fix it.
>>
>> Regards,
>> Rami Rosen
>> Intel Corporation
>>
>>
> Interesting!
>
> Do you have this proper fix? I would like to build and use DPDK on
> CentOS 6.8...
>
> Thank you for your reply!
>
> Best,
> Thiago
>

Hey guys,

I tried something different, just for testing, and it also doesn't build.

What I tried was to install the "centos-release-xen" repo, and run "yum
upgrade" in my CentOS 6.8 box, this way, I can receive a new Kernel for it,
which is "3.18.34-20.el6.x86_64", and here is the DPDK build error now:

---
...
  CC eal_common_dev.o
cc1: warnings being treated as errors
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:
In function 'igbuio_pci_probe':
/usr/src/kernels/3.18.34-20.el6.x86_64/include/linux/slab.h:582: error:
inlining failed in call to 'kzalloc.clone.0': --param
max-inline-insns-single limit reached
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:383:
error: called from here
make[8]: ***
[/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o]
Error 1
make[7]: ***
[_module_/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio]
Error 2
make[6]: *** [sub-make] Error 2
make[5]: *** [igb_uio.ko] Error 2
make[4]: *** [igb_uio] Error 2
make[4]: *** Waiting for unfinished jobs
  CC eal_common_options.o
  CC eal_common_thread.o
  CC eal_common_proc.o
  CC rte_malloc.o
  CC malloc_elem.o
  CC malloc_heap.o
  CC rte_keepalive.o
  CC rte_cpuflags.o
  SYMLINK-FILE include/exec-env/rte_interrupts.h
  SYMLINK-FILE include/exec-env/rte_kni_common.h
  SYMLINK-FILE include/exec-env/rte_dom0_common.h
  LD librte_eal.so.2
  INSTALL-LIB librte_eal.so.2
make[3]: *** [linuxapp] Error 2
make[2]: *** [librte_eal] Error 2
make[1]: *** [lib] Error 2
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.b7GNzi (%build)
---

So, this is not related to "PCI: MSI: Move MSI-X entry definition to
pci_regs.h" anymore...

I'm still looking for a way to build and package the latest DPDK on CentOS
6.8 box.

I appreciate any help...

Thanks!
Thiago


[dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

2016-06-15 Thread Martinx - ジェームズ
On 13 June 2016 at 12:15, Martinx - ?  wrote:

>
>
> On 12 June 2016 at 11:30, Rosen, Rami  wrote:
>
>> Hi Thiago,
>>
>> > Any clue?
>>
>> Sure. This is the reason: in dpdk-16.04/lib/librte_eal/linuxapp/igb_uio
>> we have:
>> 
>> #ifndef PCI_MSIX_ENTRY_SIZE
>> #define PCI_MSIX_ENTRY_SIZE 16
>> #define  PCI_MSIX_ENTRY_LOWER_ADDR  0
>> #define  PCI_MSIX_ENTRY_UPPER_ADDR  4
>> #define  PCI_MSIX_ENTRY_DATA8
>> #define  PCI_MSIX_ENTRY_VECTOR_CTRL 12
>> #define   PCI_MSIX_ENTRY_CTRL_MASKBIT   1
>> #endif
>> ...
>>
>> The root cause of the problem is due to that in CentOS 6.8,
>> PCI_MSIX_ENTRY_SIZE is defined; this
>> causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT definition as
>> shown above.
>>
>> The definition of PCI_MSIX_ENTRY_SIZE is due to the following patch,
>> which was introduced in CentOS 6.8, which moved PCI_MSIX_ENTRY_SIZE from
>> the inner drivers/pci/msi.h header file into include/linux/pci_regs.h,
>> The linux/pci_regs.h is included in the pci.h header, which is used by
>> the igb_uio.c, which failed in compilation.
>>
>> "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h"
>>
>> --- a/drivers/pci/msi.h
>> +++ b/drivers/pci/msi.h
>> @@ -6,12 +6,6 @@
>> #ifndef MSI_H
>> #define MSI_H
>>
>> -#define PCI_MSIX_ENTRY_SIZE16
>> ...
>> ...
>> ...
>> diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h
>> index 455b9cc..acfc224 100644
>> --- a/include/linux/pci_regs.h
>> +++ b/include/linux/pci_regs.h
>> @@ -307,6 +307,13 @@
>> #define PCI_MSIX_FLAGS_MASKALL  (1 << 14)
>> #define PCI_MSIX_FLAGS_BIRMASK  (7 << 0)
>>
>> +/* MSI-X entry's format */
>> +#define PCI_MSIX_ENTRY_SIZE16
>> 
>>
>>
>> http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h
>>
>> See also:
>> rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | grep "Move
>> MSI-X entry"
>> warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 RSA/SHA1
>> Signature, key ID c105b9de: NOKEY
>> - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe)
>> [1288629
>>
>>
>> A proper patch which checks kernel version can fix it.
>>
>> Regards,
>> Rami Rosen
>> Intel Corporation
>>
>>
> Interesting!
>
> Do you have this proper fix? I would like to build and use DPDK on CentOS
> 6.8...
>
> Thank you for your reply!
>
> Best,
> Thiago
>

Hey guys,

I tried something different, just for testing, and it also doesn't build.

What I tried was to install the "centos-release-xen" repo, and run "yum
upgrade" in my CentOS 6.8 box, this way, I can receive a new Kernel for it,
which is "3.18.34-20.el6.x86_64", and here is the DPDK build error now:

---
...
  CC eal_common_dev.o
cc1: warnings being treated as errors
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:
In function 'igbuio_pci_probe':
/usr/src/kernels/3.18.34-20.el6.x86_64/include/linux/slab.h:582: error:
inlining failed in call to 'kzalloc.clone.0': --param
max-inline-insns-single limit reached
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:383:
error: called from here
make[8]: ***
[/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o]
Error 1
make[7]: ***
[_module_/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio]
Error 2
make[6]: *** [sub-make] Error 2
make[5]: *** [igb_uio.ko] Error 2
make[4]: *** [igb_uio] Error 2
make[4]: *** Waiting for unfinished jobs
  CC eal_common_options.o
  CC eal_common_thread.o
  CC eal_common_proc.o
  CC rte_malloc.o
  CC malloc_elem.o
  CC malloc_heap.o
  CC rte_keepalive.o
  CC rte_cpuflags.o
  SYMLINK-FILE include/exec-env/rte_interrupts.h
  SYMLINK-FILE include/exec-env/rte_kni_common.h
  SYMLINK-FILE include/exec-env/rte_dom0_common.h
  LD librte_eal.so.2
  INSTALL-LIB librte_eal.so.2
make[3]: *** [linuxapp] Error 2
make[2]: *** [librte_eal] Error 2
make[1]: *** [lib] Error 2
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.b7GNzi (%build)
---

So, this is not related to "PCI: MSI: Move MSI-X entry definition to
pci_regs.h" anymore...

I'm still looking for a way to build and package the latest DPDK on CentOS
6.8 box.

I appreciate any help...

Thanks!
Thiago


[dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

2016-06-13 Thread Martinx - ジェームズ
On 12 June 2016 at 11:30, Rosen, Rami  wrote:

> Hi Thiago,
>
> > Any clue?
>
> Sure. This is the reason: in dpdk-16.04/lib/librte_eal/linuxapp/igb_uio we
> have:
> 
> #ifndef PCI_MSIX_ENTRY_SIZE
> #define PCI_MSIX_ENTRY_SIZE 16
> #define  PCI_MSIX_ENTRY_LOWER_ADDR  0
> #define  PCI_MSIX_ENTRY_UPPER_ADDR  4
> #define  PCI_MSIX_ENTRY_DATA8
> #define  PCI_MSIX_ENTRY_VECTOR_CTRL 12
> #define   PCI_MSIX_ENTRY_CTRL_MASKBIT   1
> #endif
> ...
>
> The root cause of the problem is due to that in CentOS 6.8,
> PCI_MSIX_ENTRY_SIZE is defined; this
> causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT definition as
> shown above.
>
> The definition of PCI_MSIX_ENTRY_SIZE is due to the following patch, which
> was introduced in CentOS 6.8, which moved PCI_MSIX_ENTRY_SIZE from the
> inner drivers/pci/msi.h header file into include/linux/pci_regs.h,
> The linux/pci_regs.h is included in the pci.h header, which is used by the
> igb_uio.c, which failed in compilation.
>
> "PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h"
>
> --- a/drivers/pci/msi.h
> +++ b/drivers/pci/msi.h
> @@ -6,12 +6,6 @@
> #ifndef MSI_H
> #define MSI_H
>
> -#define PCI_MSIX_ENTRY_SIZE16
> ...
> ...
> ...
> diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h
> index 455b9cc..acfc224 100644
> --- a/include/linux/pci_regs.h
> +++ b/include/linux/pci_regs.h
> @@ -307,6 +307,13 @@
> #define PCI_MSIX_FLAGS_MASKALL  (1 << 14)
> #define PCI_MSIX_FLAGS_BIRMASK  (7 << 0)
>
> +/* MSI-X entry's format */
> +#define PCI_MSIX_ENTRY_SIZE16
> 
>
>
> http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h
>
> See also:
> rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | grep "Move
> MSI-X entry"
> warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 RSA/SHA1
> Signature, key ID c105b9de: NOKEY
> - [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe)
> [1288629
>
>
> A proper patch which checks kernel version can fix it.
>
> Regards,
> Rami Rosen
> Intel Corporation
>
>
Interesting!

Do you have this proper fix? I would like to build and use DPDK on CentOS
6.8...

Thank you for your reply!

Best,
Thiago


[dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

2016-06-12 Thread Rosen, Rami
Hi Thiago,

> Any clue?

Sure. This is the reason: in dpdk-16.04/lib/librte_eal/linuxapp/igb_uio we have:

#ifndef PCI_MSIX_ENTRY_SIZE
#define PCI_MSIX_ENTRY_SIZE 16
#define  PCI_MSIX_ENTRY_LOWER_ADDR  0
#define  PCI_MSIX_ENTRY_UPPER_ADDR  4
#define  PCI_MSIX_ENTRY_DATA8
#define  PCI_MSIX_ENTRY_VECTOR_CTRL 12
#define   PCI_MSIX_ENTRY_CTRL_MASKBIT   1
#endif
...

The root cause of the problem is due to that in CentOS 6.8, PCI_MSIX_ENTRY_SIZE 
is defined; this  
causes *avoiding* having the PCI_MSIX_ENTRY_CTRL_MASKBIT definition as shown 
above.

The definition of PCI_MSIX_ENTRY_SIZE is due to the following patch, which was 
introduced in CentOS 6.8, which moved PCI_MSIX_ENTRY_SIZE from the inner 
drivers/pci/msi.h header file into include/linux/pci_regs.h,
The linux/pci_regs.h is included in the pci.h header, which is used by the 
igb_uio.c, which failed in compilation.

"PATCH 1/8] PCI: MSI: Move MSI-X entry definition to pci_regs.h"

--- a/drivers/pci/msi.h
+++ b/drivers/pci/msi.h
@@ -6,12 +6,6 @@
#ifndef MSI_H
#define MSI_H

-#define PCI_MSIX_ENTRY_SIZE16
...
...
...
diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h
index 455b9cc..acfc224 100644
--- a/include/linux/pci_regs.h
+++ b/include/linux/pci_regs.h
@@ -307,6 +307,13 @@
#define PCI_MSIX_FLAGS_MASKALL  (1 << 14)
#define PCI_MSIX_FLAGS_BIRMASK  (7 << 0)

+/* MSI-X entry's format */
+#define PCI_MSIX_ENTRY_SIZE16


http://linux-pci.vger.kernel.narkive.com/cZquopIw/patch-1-8-pci-msi-move-msi-x-entry-definition-to-pci-regs-h

See also:
rpm -qp --changelog kernel-devel-2.6.32-642.el6.x86_64.rpm | grep "Move MSI-X 
entry"
warning: kernel-devel-2.6.32-642.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, 
key ID c105b9de: NOKEY
- [pci] msi: Move MSI-X entry definition to pci_regs.h (Myron Stowe) [1288629


A proper patch which checks kernel version can fix it.

Regards,
Rami Rosen
Intel Corporation



[dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

2016-06-03 Thread Ferruh Yigit
On 6/1/2016 9:07 PM, Martinx - ? wrote:
> Guys,
> 
>  I'm trying to build DPDK-16.04 on CentOS 6.8, but it is failing, here is
> the error:
> 
> ---
> ...
> == Build lib/librte_eal/linuxapp
> == Build lib/librte_eal/linuxapp/eal
> == Build lib/librte_eal/linuxapp/igb_uio
>   CC eal.o
>   CC eal_hugepage_info.o
>   CC eal_memory.o
>   LD
>  
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o
>   CC [M]
>  
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o
>   CC eal_thread.o
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:
> In function 'igbuio_msix_mask_irq':
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157:
> error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this function)
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157:
> error: (Each undeclared identifier is reported only once
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157:
> error: for each function it appears in.)
> make[8]: ***
> [/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o]
> Error 1
> make[7]: ***
> [_module_/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio]
> Error 2
> make[6]: *** [sub-make] Error 2
> make[5]: *** [igb_uio.ko] Error 2
> make[4]: *** [igb_uio] Error 2
> make[4]: *** Waiting for unfinished jobs
>   CC eal_log.o
>   CC eal_pci.o
>   CC eal_pci_uio.o
>   CC eal_pci_vfio.o
>   CC eal_pci_vfio_mp_sync.o
> ...
> ---
> 
>  Any clue?
> 
>  I'm trying to build it by running:
> 
> --
> rpmbuild --ba /root/rpmbuild/SPECS/dpdk.spec
> --
> 
>  I removed the "doc" and the need for Xen out of it... I can take this spec
> and the dpdk-16.04.tar.gz and build it on CentOS 7.
> 
> Thanks!
> Thiago
> 

Hi Thiago,

As a reference, I tested spec file on Fedora 23, compilation worked fine.
Only I found you need to set RTE_TARGET=x86_64-default-linuxapp-gcc
before building, to be able to package all files.

meanwhile PCI_MSIX_ENTRY_CTRL_MASKBIT is defined for kernels >= 2.6.38,
BUT it already defined in igb_uio/compat.h for the case kernel headers
don't have it, so it is not related to the kernel versions, not sure
about source of the error.

Thanks,
ferruh


[dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

2016-06-03 Thread Martinx - ジェームズ
On 3 June 2016 at 06:45, Ferruh Yigit  wrote:

> On 6/1/2016 9:07 PM, Martinx - ? wrote:
> > Guys,
> >
> >  I'm trying to build DPDK-16.04 on CentOS 6.8, but it is failing, here is
> > the error:
> >
> > ---
> > ...
> > == Build lib/librte_eal/linuxapp
> > == Build lib/librte_eal/linuxapp/eal
> > == Build lib/librte_eal/linuxapp/igb_uio
> >   CC eal.o
> >   CC eal_hugepage_info.o
> >   CC eal_memory.o
> >   LD
> >
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o
> >   CC [M]
> >
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o
> >   CC eal_thread.o
> >
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:
> > In function 'igbuio_msix_mask_irq':
> >
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157:
> > error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this
> function)
> >
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157:
> > error: (Each undeclared identifier is reported only once
> >
> /root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157:
> > error: for each function it appears in.)
> > make[8]: ***
> >
> [/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o]
> > Error 1
> > make[7]: ***
> >
> [_module_/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio]
> > Error 2
> > make[6]: *** [sub-make] Error 2
> > make[5]: *** [igb_uio.ko] Error 2
> > make[4]: *** [igb_uio] Error 2
> > make[4]: *** Waiting for unfinished jobs
> >   CC eal_log.o
> >   CC eal_pci.o
> >   CC eal_pci_uio.o
> >   CC eal_pci_vfio.o
> >   CC eal_pci_vfio_mp_sync.o
> > ...
> > ---
> >
> >  Any clue?
> >
> >  I'm trying to build it by running:
> >
> > --
> > rpmbuild --ba /root/rpmbuild/SPECS/dpdk.spec
> > --
> >
> >  I removed the "doc" and the need for Xen out of it... I can take this
> spec
> > and the dpdk-16.04.tar.gz and build it on CentOS 7.
> >
> > Thanks!
> > Thiago
> >
>
> Hi Thiago,
>
> As a reference, I tested spec file on Fedora 23, compilation worked fine.
> Only I found you need to set RTE_TARGET=x86_64-default-linuxapp-gcc
> before building, to be able to package all files.
>
> meanwhile PCI_MSIX_ENTRY_CTRL_MASKBIT is defined for kernels >= 2.6.38,
> BUT it already defined in igb_uio/compat.h for the case kernel headers
> don't have it, so it is not related to the kernel versions, not sure
> about source of the error.
>
> Thanks,
> ferruh
>

Hello Ferruh,

 The dpdk.spec file already tries to compile it by using
"RTE_TARGET=x86_64-default-linuxapp-gcc", look:

---
# rpmbuild --ba /root/rpmbuild/SPECS/dpdk.spec
.
+ unset DISPLAY
+ make O=x86_64-default-linuxapp-gcc T=x86_64-native-linuxapp-gcc config
Configuration done
.
---

 Am I right?

 But it fails... I'll need to stick with DPDK-1.8 for CentOS 6 for now,
since I can compile it without problems...

 Thanks anyway man!

Best,
Thiago


[dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8

2016-06-01 Thread Martinx - ジェームズ
Guys,

 I'm trying to build DPDK-16.04 on CentOS 6.8, but it is failing, here is
the error:

---
...
== Build lib/librte_eal/linuxapp
== Build lib/librte_eal/linuxapp/eal
== Build lib/librte_eal/linuxapp/igb_uio
  CC eal.o
  CC eal_hugepage_info.o
  CC eal_memory.o
  LD
 
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o
  CC [M]
 
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o
  CC eal_thread.o
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:
In function 'igbuio_msix_mask_irq':
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157:
error: 'PCI_MSIX_ENTRY_CTRL_MASKBIT' undeclared (first use in this function)
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157:
error: (Each undeclared identifier is reported only once
/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:157:
error: for each function it appears in.)
make[8]: ***
[/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o]
Error 1
make[7]: ***
[_module_/root/rpmbuild/BUILD/dpdk-16.04/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio]
Error 2
make[6]: *** [sub-make] Error 2
make[5]: *** [igb_uio.ko] Error 2
make[4]: *** [igb_uio] Error 2
make[4]: *** Waiting for unfinished jobs
  CC eal_log.o
  CC eal_pci.o
  CC eal_pci_uio.o
  CC eal_pci_vfio.o
  CC eal_pci_vfio_mp_sync.o
...
---

 Any clue?

 I'm trying to build it by running:

--
rpmbuild --ba /root/rpmbuild/SPECS/dpdk.spec
--

 I removed the "doc" and the need for Xen out of it... I can take this spec
and the dpdk-16.04.tar.gz and build it on CentOS 7.

Thanks!
Thiago