DPDK patches and discussions
 help / color / mirror / Atom feed
* Re: [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel
@ 2016-11-02 16:19 martin_curran-gray
  2016-11-02 16:30 ` Ferruh Yigit
  0 siblings, 1 reply; 8+ messages in thread
From: martin_curran-gray @ 2016-11-02 16:19 UTC (permalink / raw)
  To: dev

Hi ,

Sorry, struggling to see what happened to this thread

I managed to get dpdk 2.2.0 to build on CentOs 6.8 by sorting the MSIX_ENTRY_CTRL_MASKBIT

But I'm trying to get 16.7 to run on 6.8, and am hitting the   vlan_tx_tag_present(_skb)

I tried just putting a bare
#define  vlan_tx_tag_present(_skb) 0
line in the two kcompat.h files
one for igb and one for ixgbe

but I'm hitting other issues now.

/root/mcgray/dpdk-16.07/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_misc.c:441:20: error: macro "alloc_netdev" passed 4 arguments, but takes just 3

I had already turned of KNI in my config file, so why is the dpdk-setup.sh even trying to build this stuff??

I don't need KNI as far as I know

I saw mention of backported kernel?

I guess my 16.7 is a few months old now, if I go and get another download will this all just go away?

Thanks

Sry, this stuff all a bit beyond my experience so far.



Martin Curran-Gray

^ permalink raw reply	[flat|nested] 8+ messages in thread
* Re: [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8
@ 2016-06-12 15:30 Rosen, Rami
  2016-06-15 15:57 ` [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel Ferruh Yigit
  0 siblings, 1 reply; 8+ messages in thread
From: Rosen, Rami @ 2016-06-12 15:30 UTC (permalink / raw)
  To: thiagocmartinsc, Yigit, Ferruh; +Cc: dev, 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_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


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

end of thread, other threads:[~2016-11-02 16:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-02 16:19 [dpdk-dev] [PATCH] igb_uio: fix build with backported kernel martin_curran-gray
2016-11-02 16:30 ` Ferruh Yigit
2016-11-02 16:40   ` martin_curran-gray
  -- strict thread matches above, loose matches on Subject: below --
2016-06-12 15:30 [dpdk-dev] Can't build DPDK-16.04 on CentOS 6.8 Rosen, Rami
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

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).