On Oct 24, 2014, at 12:35 AM, Thomas Monjalon <thomas.monjalon at 6wind.com> 
wrote:
> 
> Please, could explain what is the file /proc/version_signature and why
> it can be a check for Ubuntu kernel?

Ubuntu provides /proc/version_signature to help with determining kernel 
lineage; it doesn?t exist in upstream kernels:

https://wiki.ubuntu.com/Kernel/FAQ#Kernel.2BAC8-FAQ.2BAC8-GeneralVersionRunning.How_can_we_determine_the_version_of_the_running_kernel.3F

Commit a09b359d started gathering version information via version_signature in 
order to enable certain Ubuntu-specific kernel workarounds.   If you have a 
kernel without this information (e.g. upstream Linux v3.13 with an Ubuntu 
userspace), kni fails to build:

  CC [M]  
/home/alexander/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.o
In file included from 
/home/alexander/dpdk/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41:0,
                 from 
/home/alexander/dpdk/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31,
                 from 
/home/alexander/dpdk/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31,
                 from 
/home/alexander/dpdk/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38:
/home/alexander/dpdk/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3864:8: 
error: macro "UBUNTU_KERNEL_VERSION" requires 5 arguments, but only 1 given
/home/alexander/dpdk/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3864:8: 
error: "UBUNTU_KERNEL_VERSION" is not defined [-Werror=undef]

My logic for the change is: if the build system is running in an environment 
that looks like Ubuntu, but can?t gather enough information to know if it 
should enable the kernel workarounds, it?s safe to not try to enable them at 
all.

Thanks.


Alexander

Reply via email to