DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Rosen, Rami" <rami.rosen@intel.com>
To: "thiagocmartinsc@gmail.com" <thiagocmartinsc@gmail.com>,
	"Yigit, Ferruh" <ferruh.yigit@intel.com>
Cc: dev <dev@dpdk.org>, "Rosen, Rami" <rami.rosen@intel.com>
Subject: Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8
Date: Sun, 12 Jun 2016 15:30:38 +0000	[thread overview]
Message-ID: <9B0331B6EBBD0E4684FBFAEDA55776F92CD5CBC7@HASMSX110.ger.corp.intel.com> (raw)
In-Reply-To: <CAJSM8J01Q=k_iH7bCRnYYYY2i5GRJvSoK=2m6dM4MhwcwK7t2Q@mail.gmail.com>

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


  reply	other threads:[~2016-06-12 15:30 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 [this message]
2016-06-13 16:15       ` Martinx - ジェームズ
2016-06-15 18:59         ` Martinx - ジェームズ
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=9B0331B6EBBD0E4684FBFAEDA55776F92CD5CBC7@HASMSX110.ger.corp.intel.com \
    --to=rami.rosen@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=thiagocmartinsc@gmail.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).