* [PATCH] igb_uio: fix build for longterm kernel 2.6.32.63
@ 2014-10-30 8:18 Jincheng Miao
[not found] ` <1414657104-16141-1-git-send-email-jmiao-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Jincheng Miao @ 2014-10-30 8:18 UTC (permalink / raw)
To: dev-VfR2kkLFssw
There is a logical error in igb_uio/compat.h when define pci_num_vf().
Only CONFIG_PCI_IOV enabled, this function could be defined.
This patch fix the following error for linux-2.6.32.63:
CC [M] /root/dpdk-source/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o
/root/dpdk-source/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: In function ‘show_max_vfs’:
/root/dpdk-source/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:75: error: implicit declaration of function ‘pci_num_vf’
Signed-off-by: Jincheng Miao <jmiao-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
lib/librte_eal/linuxapp/igb_uio/compat.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/lib/librte_eal/linuxapp/igb_uio/compat.h
index 676fa1b..0af0cae 100644
--- a/lib/librte_eal/linuxapp/igb_uio/compat.h
+++ b/lib/librte_eal/linuxapp/igb_uio/compat.h
@@ -21,7 +21,7 @@
#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) && \
- !defined(CONFIG_PCI_IOV)
+ defined(CONFIG_PCI_IOV)
static int pci_num_vf(struct pci_dev *dev)
{
--
1.7.1
^ permalink raw reply related [flat|nested] 3+ messages in thread[parent not found: <1414657104-16141-1-git-send-email-jmiao-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH] igb_uio: fix build for longterm kernel 2.6.32.63 [not found] ` <1414657104-16141-1-git-send-email-jmiao-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2014-10-31 1:54 ` Jincheng Miao [not found] ` <5452EBDA.2090706-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: Jincheng Miao @ 2014-10-31 1:54 UTC (permalink / raw) To: dev-VfR2kkLFssw This patch will make RHEL6 build failed. The root cause is that RHEL-based kernel is slightly different with upstream kernel. It has some functions (pci_num_vf, kstrtoul, etc) which don't exist in upstream longterm kernel. For better compatibility, IMHO it is distinguishing RHEL-based kernel and upstream one. Using macro like: ``` #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) && \ !(defined(RHEL_RELEASE_CODE) && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6, 3)) static int pci_num_vf(struct pci_dev *dev) { ``` But this is RHEL-specified fix. For other distros, if they have some problem, we should hack it in the same way. Thanks and regards, Jincheng Miao On 10/30/2014 04:18 PM, Jincheng Miao wrote: > There is a logical error in igb_uio/compat.h when define pci_num_vf(). > Only CONFIG_PCI_IOV enabled, this function could be defined. > > This patch fix the following error for linux-2.6.32.63: > CC [M] /root/dpdk-source/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: In function ‘show_max_vfs’: > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:75: error: implicit declaration of function ‘pci_num_vf’ > > Signed-off-by: Jincheng Miao <jmiao-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > --- > lib/librte_eal/linuxapp/igb_uio/compat.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/lib/librte_eal/linuxapp/igb_uio/compat.h > index 676fa1b..0af0cae 100644 > --- a/lib/librte_eal/linuxapp/igb_uio/compat.h > +++ b/lib/librte_eal/linuxapp/igb_uio/compat.h > @@ -21,7 +21,7 @@ > #endif > > #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) && \ > - !defined(CONFIG_PCI_IOV) > + defined(CONFIG_PCI_IOV) > > static int pci_num_vf(struct pci_dev *dev) > { ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <5452EBDA.2090706-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH] igb_uio: fix build for longterm kernel 2.6.32.63 [not found] ` <5452EBDA.2090706-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> @ 2014-10-31 8:53 ` Thomas Monjalon 0 siblings, 0 replies; 3+ messages in thread From: Thomas Monjalon @ 2014-10-31 8:53 UTC (permalink / raw) To: Jincheng Miao; +Cc: dev-VfR2kkLFssw Hi Jincheng, 2014-10-31 09:54, Jincheng Miao: > This patch will make RHEL6 build failed. > > The root cause is that RHEL-based kernel is slightly different with > upstream kernel. > It has some functions (pci_num_vf, kstrtoul, etc) which don't exist in > upstream longterm kernel. Yes it seems that the functions are stub-defined in RHEL if CONFIG_PCI_IOV is not defined. > For better compatibility, IMHO it is distinguishing RHEL-based kernel > and upstream one. Yes we have to handle the RedHat difference. > Using macro like: > ``` > #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) && \ > !(defined(RHEL_RELEASE_CODE) && RHEL_RELEASE_CODE >= > RHEL_RELEASE_VERSION(6, 3)) > > static int pci_num_vf(struct pci_dev *dev) > { > ``` > > But this is RHEL-specified fix. For other distros, if they have some > problem, we should hack it in the same way. > > Thanks and regards, > Jincheng Miao > > > On 10/30/2014 04:18 PM, Jincheng Miao wrote: > > There is a logical error in igb_uio/compat.h when define pci_num_vf(). > > Only CONFIG_PCI_IOV enabled, this function could be defined. > > > > This patch fix the following error for linux-2.6.32.63: > > CC [M] /root/dpdk-source/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o > > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c: In function ‘show_max_vfs’: > > /root/dpdk-source/build/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.c:75: error: implicit declaration of function ‘pci_num_vf’ > > > > Signed-off-by: Jincheng Miao <jmiao-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > > --- > > lib/librte_eal/linuxapp/igb_uio/compat.h | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/lib/librte_eal/linuxapp/igb_uio/compat.h > > index 676fa1b..0af0cae 100644 > > --- a/lib/librte_eal/linuxapp/igb_uio/compat.h > > +++ b/lib/librte_eal/linuxapp/igb_uio/compat.h > > @@ -21,7 +21,7 @@ > > #endif > > > > #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34) && \ > > - !defined(CONFIG_PCI_IOV) > > + defined(CONFIG_PCI_IOV) > > > > static int pci_num_vf(struct pci_dev *dev) > > { ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-10-31 8:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-30 8:18 [PATCH] igb_uio: fix build for longterm kernel 2.6.32.63 Jincheng Miao
[not found] ` <1414657104-16141-1-git-send-email-jmiao-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-10-31 1:54 ` Jincheng Miao
[not found] ` <5452EBDA.2090706-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-10-31 8:53 ` Thomas Monjalon
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.