[v3] eal: remove exec-env directory
Checks
Commit Message
Only one header file (rte_kni_common.h) was in the sub-directory
include/exec-env/
This file was installed in a sub-directory of the same name
in the makefile-based build.
Source and install directories are moved as below:
lib/librte_eal/linux/eal/include/exec-env/
-> lib/librte_eal/linux/eal/include/
build/include/exec-env/
-> build/include/
The consequence is to have a file hierarchy a bit more flat.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
v2: remove subdir install with meson on Linux
v3: add rte_kni_common.h in meson install
---
devtools/check-includes.sh | 1 -
kernel/linux/kni/kni_dev.h | 2 +-
kernel/linux/kni/kni_fifo.h | 2 +-
kernel/linux/kni/kni_misc.c | 2 +-
kernel/linux/kni/kni_net.c | 2 +-
lib/librte_eal/freebsd/eal/Makefile | 3 +--
lib/librte_eal/linux/eal/Makefile | 3 +--
.../linux/eal/include/{exec-env => }/rte_kni_common.h | 0
lib/librte_eal/linux/eal/meson.build | 3 +--
lib/librte_kni/rte_kni.c | 2 +-
lib/librte_kni/rte_kni.h | 2 +-
11 files changed, 9 insertions(+), 13 deletions(-)
rename lib/librte_eal/linux/eal/include/{exec-env => }/rte_kni_common.h (100%)
Comments
On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> Only one header file (rte_kni_common.h) was in the sub-directory
> include/exec-env/
> This file was installed in a sub-directory of the same name
> in the makefile-based build.
> Source and install directories are moved as below:
>
> lib/librte_eal/linux/eal/include/exec-env/
> -> lib/librte_eal/linux/eal/include/
>
> build/include/exec-env/
> -> build/include/
>
> The consequence is to have a file hierarchy a bit more flat.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>
Looks good to me.
Reviewed-by: David Marchand <david.marchand@redhat.com>
Tested-by: David Marchand <david.marchand@redhat.com>
Bruce, while testing with meson, I noticed this:
kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
"console".
WARNING: This will become a hard error in the future.
WARNING: Unknown keyword arguments in target rte_kni: console
On 4/2/2019 8:30 PM, Thomas Monjalon wrote:
> Only one header file (rte_kni_common.h) was in the sub-directory
> include/exec-env/
> This file was installed in a sub-directory of the same name
> in the makefile-based build.
> Source and install directories are moved as below:
>
> lib/librte_eal/linux/eal/include/exec-env/
> -> lib/librte_eal/linux/eal/include/
>
> build/include/exec-env/
> -> build/include/
>
> The consequence is to have a file hierarchy a bit more flat.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
02/04/2019 21:46, David Marchand:
> On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> > Only one header file (rte_kni_common.h) was in the sub-directory
> > include/exec-env/
> > This file was installed in a sub-directory of the same name
> > in the makefile-based build.
> > Source and install directories are moved as below:
> >
> > lib/librte_eal/linux/eal/include/exec-env/
> > -> lib/librte_eal/linux/eal/include/
> >
> > build/include/exec-env/
> > -> build/include/
> >
> > The consequence is to have a file hierarchy a bit more flat.
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> >
>
> Looks good to me.
> Reviewed-by: David Marchand <david.marchand@redhat.com>
> Tested-by: David Marchand <david.marchand@redhat.com>
Applied
On 4/2/2019 8:46 PM, David Marchand wrote:
> On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
>> Only one header file (rte_kni_common.h) was in the sub-directory
>> include/exec-env/
>> This file was installed in a sub-directory of the same name
>> in the makefile-based build.
>> Source and install directories are moved as below:
>>
>> lib/librte_eal/linux/eal/include/exec-env/
>> -> lib/librte_eal/linux/eal/include/
>>
>> build/include/exec-env/
>> -> build/include/
>>
>> The consequence is to have a file hierarchy a bit more flat.
>>
>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>
>
> Looks good to me.
> Reviewed-by: David Marchand <david.marchand@redhat.com>
> Tested-by: David Marchand <david.marchand@redhat.com>
>
>
> Bruce, while testing with meson, I noticed this:
> kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
> "console".
> WARNING: This will become a hard error in the future.
> WARNING: Unknown keyword arguments in target rte_kni: console
I am not seeing this...
On Tue, Apr 2, 2019 at 9:52 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> On 4/2/2019 8:46 PM, David Marchand wrote:
> > On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net>
> wrote:
> >
> >> Only one header file (rte_kni_common.h) was in the sub-directory
> >> include/exec-env/
> >> This file was installed in a sub-directory of the same name
> >> in the makefile-based build.
> >> Source and install directories are moved as below:
> >>
> >> lib/librte_eal/linux/eal/include/exec-env/
> >> -> lib/librte_eal/linux/eal/include/
> >>
> >> build/include/exec-env/
> >> -> build/include/
> >>
> >> The consequence is to have a file hierarchy a bit more flat.
> >>
> >> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> >>
> >
> > Looks good to me.
> > Reviewed-by: David Marchand <david.marchand@redhat.com>
> > Tested-by: David Marchand <david.marchand@redhat.com>
> >
> >
> > Bruce, while testing with meson, I noticed this:
> > kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
> > "console".
> > WARNING: This will become a hard error in the future.
> > WARNING: Unknown keyword arguments in target rte_kni: console
>
> I am not seeing this...
>
Ok, might be my setup:
[dmarchan@dmarchan dpdk]$ meson --version
0.47.2
What should I check ?
On 4/2/2019 8:55 PM, David Marchand wrote:
> On Tue, Apr 2, 2019 at 9:52 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>
>> On 4/2/2019 8:46 PM, David Marchand wrote:
>>> On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net>
>> wrote:
>>>
>>>> Only one header file (rte_kni_common.h) was in the sub-directory
>>>> include/exec-env/
>>>> This file was installed in a sub-directory of the same name
>>>> in the makefile-based build.
>>>> Source and install directories are moved as below:
>>>>
>>>> lib/librte_eal/linux/eal/include/exec-env/
>>>> -> lib/librte_eal/linux/eal/include/
>>>>
>>>> build/include/exec-env/
>>>> -> build/include/
>>>>
>>>> The consequence is to have a file hierarchy a bit more flat.
>>>>
>>>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>>>
>>>
>>> Looks good to me.
>>> Reviewed-by: David Marchand <david.marchand@redhat.com>
>>> Tested-by: David Marchand <david.marchand@redhat.com>
>>>
>>>
>>> Bruce, while testing with meson, I noticed this:
>>> kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
>>> "console".
>>> WARNING: This will become a hard error in the future.
>>> WARNING: Unknown keyword arguments in target rte_kni: console
>>
>> I am not seeing this...
>>
>
> Ok, might be my setup:
> [dmarchan@dmarchan dpdk]$ meson --version
> 0.47.2
>
> What should I check ?
I have '0.50.0', but no idea what to check, wait Bruce :) ?
On Tue, Apr 2, 2019 at 9:58 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> On 4/2/2019 8:55 PM, David Marchand wrote:
> > On Tue, Apr 2, 2019 at 9:52 PM Ferruh Yigit <ferruh.yigit@intel.com>
> wrote:
> >> On 4/2/2019 8:46 PM, David Marchand wrote:
> >>> Bruce, while testing with meson, I noticed this:
> >>> kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword
> argument
> >>> "console".
> >>> WARNING: This will become a hard error in the future.
> >>> WARNING: Unknown keyword arguments in target rte_kni: console
> >>
> >> I am not seeing this...
> >>
> >
> > Ok, might be my setup:
> > [dmarchan@dmarchan dpdk]$ meson --version
> > 0.47.2
> >
> > What should I check ?
>
> I have '0.50.0', but no idea what to check, wait Bruce :) ?
>
Looking at the doc..
3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.42 of meson is
recommended - if the version packaged is too old, the latest version is
generally available from "pip".
Later:
NOTE: for --static builds, DPDK needs to be built with Meson >= 0.46 in
order to
fully generate the list of private dependencies. If DPDK is built with an
older
version of Meson, it might be necessary to manually specify dependencies of
DPDK
PMDs/libraries, for example -lmlx5 -lmnl for librte-pmd-mlx5, or the static
link
step might fail.
And I found this:
meson.build: meson_version: '>= 0.47.1'
So I suppose I have a working environment and I will just ignore the
warnings :-)
02/04/2019 22:04, David Marchand:
> On Tue, Apr 2, 2019 at 9:58 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> > On 4/2/2019 8:55 PM, David Marchand wrote:
> > > On Tue, Apr 2, 2019 at 9:52 PM Ferruh Yigit <ferruh.yigit@intel.com>
> > wrote:
> > >> On 4/2/2019 8:46 PM, David Marchand wrote:
> > >>> Bruce, while testing with meson, I noticed this:
> > >>> kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword
> > argument
> > >>> "console".
> > >>> WARNING: This will become a hard error in the future.
> > >>> WARNING: Unknown keyword arguments in target rte_kni: console
> > >>
> > >> I am not seeing this...
> > >>
> > >
> > > Ok, might be my setup:
> > > [dmarchan@dmarchan dpdk]$ meson --version
> > > 0.47.2
> > >
> > > What should I check ?
> >
> > I have '0.50.0', but no idea what to check, wait Bruce :) ?
>
> Looking at the doc..
> 3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.42 of meson is
> recommended - if the version packaged is too old, the latest version is
> generally available from "pip".
>
> Later:
> NOTE: for --static builds, DPDK needs to be built with Meson >= 0.46 in
> order to
> fully generate the list of private dependencies. If DPDK is built with an
> older
> version of Meson, it might be necessary to manually specify dependencies of
> DPDK
> PMDs/libraries, for example -lmlx5 -lmnl for librte-pmd-mlx5, or the static
> link
> step might fail.
>
> And I found this:
> meson.build: meson_version: '>= 0.47.1'
There is a miss of doc update in this patch:
http://git.dpdk.org/dpdk/commit/?id=eded3f928c74
The minimum version is really 0.47.1.
On Tue, Apr 2, 2019 at 9:51 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> 02/04/2019 21:46, David Marchand:
> > On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net>
> wrote:
> >
> > > Only one header file (rte_kni_common.h) was in the sub-directory
> > > include/exec-env/
> > > This file was installed in a sub-directory of the same name
> > > in the makefile-based build.
> > > Source and install directories are moved as below:
> > >
> > > lib/librte_eal/linux/eal/include/exec-env/
> > > -> lib/librte_eal/linux/eal/include/
> > >
> > > build/include/exec-env/
> > > -> build/include/
> > >
> > > The consequence is to have a file hierarchy a bit more flat.
> > >
> > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > >
> >
> > Looks good to me.
> > Reviewed-by: David Marchand <david.marchand@redhat.com>
> > Tested-by: David Marchand <david.marchand@redhat.com>
>
> Applied
>
As a followup, I noticed this:
[dmarchan@dmarchan dpdk]$ for file in $(find lib/librte_eal/*/eal -name
*.h); do echo $(basename $file); git grep -l $(basename $file); echo; done
eal_alarm_private.h
lib/librte_eal/freebsd/eal/eal_alarm.c
lib/librte_eal/freebsd/eal/eal_interrupts.c
eal_vfio.h
lib/librte_eal/linux/eal/eal.c
lib/librte_eal/linux/eal/eal_interrupts.c
lib/librte_eal/linux/eal/eal_vfio.c
lib/librte_eal/linux/eal/eal_vfio_mp_sync.c
rte_kni_common.h
kernel/linux/kni/kni_dev.h
kernel/linux/kni/kni_fifo.h
kernel/linux/kni/kni_misc.c
kernel/linux/kni/kni_net.c
lib/librte_eal/linux/eal/Makefile
lib/librte_kni/rte_kni.c
lib/librte_kni/rte_kni.h
At the moment, kni is the only special case where users need to set a
CFLAGS -I...eal/include for.
But we have some drivers directly referencing linux/eal, linux/eal/include
and a funny $(SYSTEM)app/eal:
[dmarchan@dmarchan dpdk]$ git grep CFLAGS.*/eal
drivers/bus/dpaa/Makefile:CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/bus/pci/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/$(SYSTEM)app/eal
drivers/bus/vmbus/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/$(SYSTEM)app/eal
drivers/crypto/caam_jr/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/crypto/dpaa2_sec/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/crypto/dpaa_sec/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/event/dpaa/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal/include
drivers/event/dpaa2/Makefile:CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/mempool/dpaa2/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/net/dpaa/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal/include
drivers/net/dpaa2/Makefile:CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/raw/dpaa2_qdma/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal
Preparing a patch.
On Tue, Apr 02, 2019 at 08:52:12PM +0100, Ferruh Yigit wrote:
> On 4/2/2019 8:46 PM, David Marchand wrote:
> > On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> >> Only one header file (rte_kni_common.h) was in the sub-directory
> >> include/exec-env/
> >> This file was installed in a sub-directory of the same name
> >> in the makefile-based build.
> >> Source and install directories are moved as below:
> >>
> >> lib/librte_eal/linux/eal/include/exec-env/
> >> -> lib/librte_eal/linux/eal/include/
> >>
> >> build/include/exec-env/
> >> -> build/include/
> >>
> >> The consequence is to have a file hierarchy a bit more flat.
> >>
> >> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> >>
> >
> > Looks good to me.
> > Reviewed-by: David Marchand <david.marchand@redhat.com>
> > Tested-by: David Marchand <david.marchand@redhat.com>
> >
> >
> > Bruce, while testing with meson, I noticed this:
> > kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
> > "console".
> > WARNING: This will become a hard error in the future.
> > WARNING: Unknown keyword arguments in target rte_kni: console
>
> I am not seeing this...
It's ok. The keyword is new in newer versions which obviously won't give an
error on it being invalid then. Older versions just ignore it, other than
printing the warning you see.
In short, harmless, ignore! :-)
/Bruce
@@ -80,7 +80,6 @@ include_dir=${1:-build/include}
'rte_byteorder_32.h' \
'rte_byteorder_64.h' \
'generic/*' \
- 'exec-env/*' \
'rte_vhost.h' \
'rte_eth_vhost.h' \
'rte_eal_interrupts.h' \
@@ -24,7 +24,7 @@
#include <linux/spinlock.h>
#include <linux/list.h>
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
#define KNI_KTHREAD_RESCHEDULE_INTERVAL 5 /* us */
#define MBUF_BURST_SZ 32
@@ -6,7 +6,7 @@
#ifndef _KNI_FIFO_H_
#define _KNI_FIFO_H_
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
/* Skip some memory barriers on Linux < 3.14 */
#ifndef smp_load_acquire
@@ -16,7 +16,7 @@
#include <net/net_namespace.h>
#include <net/netns/generic.h>
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
#include "compat.h"
#include "kni_dev.h"
@@ -17,7 +17,7 @@
#include <linux/kthread.h>
#include <linux/delay.h>
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
#include <kni_fifo.h>
#include "compat.h"
@@ -88,7 +88,6 @@ endif
INC := # no bsd specific headers
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include/exec-env := \
- $(addprefix include/exec-env/,$(INC))
+SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include := $(addprefix include/,$(INC))
include $(RTE_SDK)/mk/rte.lib.mk
@@ -95,7 +95,6 @@ endif
INC := rte_kni_common.h
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include/exec-env := \
- $(addprefix include/exec-env/,$(INC))
+SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include := $(addprefix include/,$(INC))
include $(RTE_SDK)/mk/rte.lib.mk
similarity index 100%
rename from lib/librte_eal/linux/eal/include/exec-env/rte_kni_common.h
rename to lib/librte_eal/linux/eal/include/rte_kni_common.h
@@ -2,10 +2,9 @@
# Copyright(c) 2017 Intel Corporation
eal_inc += include_directories('include')
-install_subdir('include/exec-env', install_dir: get_option('includedir'))
env_objs = []
-env_headers = []
+env_headers = files('include/rte_kni_common.h')
env_sources = files('eal_alarm.c',
'eal_cpuflags.c',
'eal_debug.c',
@@ -21,7 +21,7 @@
#include <rte_tailq.h>
#include <rte_rwlock.h>
#include <rte_eal_memconfig.h>
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
#include "rte_kni_fifo.h"
#define MAX_MBUF_BURST_NUM 32
@@ -22,7 +22,7 @@
#include <rte_mempool.h>
#include <rte_ether.h>
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
#ifdef __cplusplus
extern "C" {