DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Martinx - ジェームズ" <thiagocmartinsc@gmail.com>
To: "Rosen, Rami" <rami.rosen@intel.com>
Cc: "Yigit, Ferruh" <ferruh.yigit@intel.com>, dev <dev@dpdk.org>
Subject: Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8
Date: Wed, 15 Jun 2016 14:59:05 -0400	[thread overview]
Message-ID: <CAJSM8J3WG_iV1tyEj4AEpzdG_FWV59D=mG0iCv5VuSNmxq29eg@mail.gmail.com> (raw)
In-Reply-To: <CAJSM8J2v=NYE8Es-C4P4qWjAMY_TcK8=_WZk_OOptGm2=CchWg@mail.gmail.com>

On 13 June 2016 at 12:15, Martinx - ジェームズ <thiagocmartinsc@gmail.com> wrote:

>
>
> On 12 June 2016 at 11:30, Rosen, Rami <rami.rosen@intel.com> 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_DATA            8
>> #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_SIZE    16
>> ...
>> ...
>> ...
>> 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_SIZE    16
>> ....
>>
>>
>> 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

  reply	other threads:[~2016-06-15 18:59 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-01 20:07 Martinx - ジェームズ
2016-06-03 10:45 ` Ferruh Yigit
2016-06-03 15:17   ` Martinx - ジェームズ
2016-06-12 15:30     ` Rosen, Rami
2016-06-13 16:15       ` Martinx - ジェームズ
2016-06-15 18:59         ` Martinx - ジェームズ [this message]
2016-06-15 20:27           ` Murali Krishna
2016-06-16 15:31           ` Ferruh Yigit
2016-06-29  2:38             ` Martinx - ジェームズ
2016-06-15 15:57       ` [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel Ferruh Yigit
2016-06-15 15:59         ` Ferruh Yigit
2016-06-16 15:45           ` Martinx - ジェームズ
2016-06-17  9:15             ` Ferruh Yigit
2016-06-21 14:12         ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJSM8J3WG_iV1tyEj4AEpzdG_FWV59D=mG0iCv5VuSNmxq29eg@mail.gmail.com' \
    --to=thiagocmartinsc@gmail.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=rami.rosen@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).