DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] build: remove special handling for node library
@ 2020-07-01 18:05 Thomas Monjalon
  2020-07-02  9:17 ` Bruce Richardson
  2020-07-02 16:09 ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
  0 siblings, 2 replies; 7+ messages in thread
From: Thomas Monjalon @ 2020-07-01 18:05 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson, ndabilpuram

What is the point of adding librte_node a second time separately?

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 app/test/meson.build | 4 +---
 examples/meson.build | 4 +---
 lib/meson.build      | 3 ---
 meson.build          | 1 -
 4 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/app/test/meson.build b/app/test/meson.build
index b224d6f2bb..da5f39f018 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -415,15 +415,13 @@ endforeach
 test_dep_objs += cc.find_library('execinfo', required: false)
 
 link_libs = []
-link_nodes = []
 if get_option('default_library') == 'static'
 	link_libs = dpdk_static_libraries + dpdk_drivers
-	link_nodes = dpdk_graph_nodes
 endif
 
 dpdk_test = executable('dpdk-test',
 	test_sources,
-	link_whole: link_libs + link_nodes,
+	link_whole: link_libs,
 	dependencies: test_dep_objs,
 	c_args: cflags,
 	install_rpath: driver_install_path,
diff --git a/examples/meson.build b/examples/meson.build
index 120eebf716..eb13e82101 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -2,10 +2,8 @@
 # Copyright(c) 2017-2019 Intel Corporation
 
 link_whole_libs = []
-node_libs = []
 if get_option('default_library') == 'static'
 	link_whole_libs = dpdk_static_libraries + dpdk_drivers
-	node_libs = dpdk_graph_nodes
 endif
 
 execinfo = cc.find_library('execinfo', required: false)
@@ -101,7 +99,7 @@ foreach example: examples
 		endif
 		executable('dpdk-' + name, sources,
 			include_directories: includes,
-			link_whole: link_whole_libs + node_libs,
+			link_whole: link_whole_libs,
 			link_args: dpdk_extra_ldflags,
 			c_args: cflags,
 			dependencies: dep_objs)
diff --git a/lib/meson.build b/lib/meson.build
index c1b9e1633f..8ca25172c3 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -202,9 +202,6 @@ foreach l:libraries
 
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
-			if libname == 'rte_node'
-				dpdk_graph_nodes = [static_lib]
-			endif
 		endif # sources.length() > 0
 
 		set_variable('shared_rte_' + name, shared_dep)
diff --git a/meson.build b/meson.build
index d21adfd303..e8bb9c4c1e 100644
--- a/meson.build
+++ b/meson.build
@@ -16,7 +16,6 @@ cc = meson.get_compiler('c')
 dpdk_conf = configuration_data()
 dpdk_libraries = []
 dpdk_static_libraries = []
-dpdk_graph_nodes = []
 dpdk_driver_classes = []
 dpdk_drivers = []
 dpdk_extra_ldflags = []
-- 
2.26.2


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

* Re: [dpdk-dev] [PATCH] build: remove special handling for node library
  2020-07-01 18:05 [dpdk-dev] [PATCH] build: remove special handling for node library Thomas Monjalon
@ 2020-07-02  9:17 ` Bruce Richardson
  2020-07-02  9:53   ` Jerin Jacob
  2020-07-02 16:09 ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
  1 sibling, 1 reply; 7+ messages in thread
From: Bruce Richardson @ 2020-07-02  9:17 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, david.marchand, ndabilpuram

On Wed, Jul 01, 2020 at 08:05:06PM +0200, Thomas Monjalon wrote:
> What is the point of adding librte_node a second time separately?
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---

I suspect that this is a hangover from when we did not explicitly
link_whole all DPDK libs.

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

* Re: [dpdk-dev] [PATCH] build: remove special handling for node library
  2020-07-02  9:17 ` Bruce Richardson
@ 2020-07-02  9:53   ` Jerin Jacob
  2020-07-02 10:21     ` Thomas Monjalon
  0 siblings, 1 reply; 7+ messages in thread
From: Jerin Jacob @ 2020-07-02  9:53 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Thomas Monjalon, dpdk-dev, David Marchand, Nithin Dabilpuram

On Thu, Jul 2, 2020 at 2:48 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> On Wed, Jul 01, 2020 at 08:05:06PM +0200, Thomas Monjalon wrote:
> > What is the point of adding librte_node a second time separately?
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
>
> I suspect that this is a hangover from when we did not explicitly
> link_whole all DPDK libs.

Yes. The constructor functions are not getting linked if there is NO
dependency from this library.

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

* Re: [dpdk-dev] [PATCH] build: remove special handling for node library
  2020-07-02  9:53   ` Jerin Jacob
@ 2020-07-02 10:21     ` Thomas Monjalon
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2020-07-02 10:21 UTC (permalink / raw)
  To: Bruce Richardson, Jerin Jacob; +Cc: dpdk-dev, David Marchand, Nithin Dabilpuram

02/07/2020 11:53, Jerin Jacob:
> On Thu, Jul 2, 2020 at 2:48 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > On Wed, Jul 01, 2020 at 08:05:06PM +0200, Thomas Monjalon wrote:
> > > What is the point of adding librte_node a second time separately?
> > >
> > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > > ---
> >
> > I suspect that this is a hangover from when we did not explicitly
> > link_whole all DPDK libs.
> 
> Yes. The constructor functions are not getting linked if there is NO
> dependency from this library.

OK, so I can change the commit log to explain that it is not needed
anymore because we link whole, including register.




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

* [dpdk-dev] [PATCH v2] build: remove special handling for node library
  2020-07-01 18:05 [dpdk-dev] [PATCH] build: remove special handling for node library Thomas Monjalon
  2020-07-02  9:17 ` Bruce Richardson
@ 2020-07-02 16:09 ` Thomas Monjalon
  2020-07-04 14:22   ` Jerin Jacob
  1 sibling, 1 reply; 7+ messages in thread
From: Thomas Monjalon @ 2020-07-02 16:09 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, bruce.richardson, ndabilpuram, jerinj,
	Luca Boccassi, Sunil Pai G

The node library had a need of being linked as a whole
to make some constructors effective.
Now that all libraries are linked with --whole-archive,
there is no need to have this library separate.

Fixes: e2db26f76673 ("build: always link whole DPDK static libraries")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
v2: write real commit log
---
 app/test/meson.build | 4 +---
 examples/meson.build | 4 +---
 lib/meson.build      | 3 ---
 meson.build          | 1 -
 4 files changed, 2 insertions(+), 10 deletions(-)

diff --git a/app/test/meson.build b/app/test/meson.build
index b224d6f2bb..da5f39f018 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -415,15 +415,13 @@ endforeach
 test_dep_objs += cc.find_library('execinfo', required: false)
 
 link_libs = []
-link_nodes = []
 if get_option('default_library') == 'static'
 	link_libs = dpdk_static_libraries + dpdk_drivers
-	link_nodes = dpdk_graph_nodes
 endif
 
 dpdk_test = executable('dpdk-test',
 	test_sources,
-	link_whole: link_libs + link_nodes,
+	link_whole: link_libs,
 	dependencies: test_dep_objs,
 	c_args: cflags,
 	install_rpath: driver_install_path,
diff --git a/examples/meson.build b/examples/meson.build
index 120eebf716..eb13e82101 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -2,10 +2,8 @@
 # Copyright(c) 2017-2019 Intel Corporation
 
 link_whole_libs = []
-node_libs = []
 if get_option('default_library') == 'static'
 	link_whole_libs = dpdk_static_libraries + dpdk_drivers
-	node_libs = dpdk_graph_nodes
 endif
 
 execinfo = cc.find_library('execinfo', required: false)
@@ -101,7 +99,7 @@ foreach example: examples
 		endif
 		executable('dpdk-' + name, sources,
 			include_directories: includes,
-			link_whole: link_whole_libs + node_libs,
+			link_whole: link_whole_libs,
 			link_args: dpdk_extra_ldflags,
 			c_args: cflags,
 			dependencies: dep_objs)
diff --git a/lib/meson.build b/lib/meson.build
index c1b9e1633f..8ca25172c3 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -202,9 +202,6 @@ foreach l:libraries
 
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
-			if libname == 'rte_node'
-				dpdk_graph_nodes = [static_lib]
-			endif
 		endif # sources.length() > 0
 
 		set_variable('shared_rte_' + name, shared_dep)
diff --git a/meson.build b/meson.build
index d21adfd303..e8bb9c4c1e 100644
--- a/meson.build
+++ b/meson.build
@@ -16,7 +16,6 @@ cc = meson.get_compiler('c')
 dpdk_conf = configuration_data()
 dpdk_libraries = []
 dpdk_static_libraries = []
-dpdk_graph_nodes = []
 dpdk_driver_classes = []
 dpdk_drivers = []
 dpdk_extra_ldflags = []
-- 
2.26.2


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

* Re: [dpdk-dev] [PATCH v2] build: remove special handling for node library
  2020-07-02 16:09 ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
@ 2020-07-04 14:22   ` Jerin Jacob
  2020-07-05 10:50     ` Thomas Monjalon
  0 siblings, 1 reply; 7+ messages in thread
From: Jerin Jacob @ 2020-07-04 14:22 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: dpdk-dev, David Marchand, Richardson, Bruce, Nithin Dabilpuram,
	Jerin Jacob, Luca Boccassi, Sunil Pai G

On Thu, Jul 2, 2020 at 9:39 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> The node library had a need of being linked as a whole
> to make some constructors effective.
> Now that all libraries are linked with --whole-archive,
> there is no need to have this library separate.
>
> Fixes: e2db26f76673 ("build: always link whole DPDK static libraries")
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Tested the change with: echo "node_list_dump" | sudo
./build/app/test/dpdk-test   -c 0x3

Tested-by: Jerin Jacob <jerinj@marvell.com>

> ---
> v2: write real commit log
> ---
>  app/test/meson.build | 4 +---
>  examples/meson.build | 4 +---
>  lib/meson.build      | 3 ---
>  meson.build          | 1 -
>  4 files changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/app/test/meson.build b/app/test/meson.build
> index b224d6f2bb..da5f39f018 100644
> --- a/app/test/meson.build
> +++ b/app/test/meson.build
> @@ -415,15 +415,13 @@ endforeach
>  test_dep_objs += cc.find_library('execinfo', required: false)
>
>  link_libs = []
> -link_nodes = []
>  if get_option('default_library') == 'static'
>         link_libs = dpdk_static_libraries + dpdk_drivers
> -       link_nodes = dpdk_graph_nodes
>  endif
>
>  dpdk_test = executable('dpdk-test',
>         test_sources,
> -       link_whole: link_libs + link_nodes,
> +       link_whole: link_libs,
>         dependencies: test_dep_objs,
>         c_args: cflags,
>         install_rpath: driver_install_path,
> diff --git a/examples/meson.build b/examples/meson.build
> index 120eebf716..eb13e82101 100644
> --- a/examples/meson.build
> +++ b/examples/meson.build
> @@ -2,10 +2,8 @@
>  # Copyright(c) 2017-2019 Intel Corporation
>
>  link_whole_libs = []
> -node_libs = []
>  if get_option('default_library') == 'static'
>         link_whole_libs = dpdk_static_libraries + dpdk_drivers
> -       node_libs = dpdk_graph_nodes
>  endif
>
>  execinfo = cc.find_library('execinfo', required: false)
> @@ -101,7 +99,7 @@ foreach example: examples
>                 endif
>                 executable('dpdk-' + name, sources,
>                         include_directories: includes,
> -                       link_whole: link_whole_libs + node_libs,
> +                       link_whole: link_whole_libs,
>                         link_args: dpdk_extra_ldflags,
>                         c_args: cflags,
>                         dependencies: dep_objs)
> diff --git a/lib/meson.build b/lib/meson.build
> index c1b9e1633f..8ca25172c3 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -202,9 +202,6 @@ foreach l:libraries
>
>                         dpdk_libraries = [shared_lib] + dpdk_libraries
>                         dpdk_static_libraries = [static_lib] + dpdk_static_libraries
> -                       if libname == 'rte_node'
> -                               dpdk_graph_nodes = [static_lib]
> -                       endif
>                 endif # sources.length() > 0
>
>                 set_variable('shared_rte_' + name, shared_dep)
> diff --git a/meson.build b/meson.build
> index d21adfd303..e8bb9c4c1e 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -16,7 +16,6 @@ cc = meson.get_compiler('c')
>  dpdk_conf = configuration_data()
>  dpdk_libraries = []
>  dpdk_static_libraries = []
> -dpdk_graph_nodes = []
>  dpdk_driver_classes = []
>  dpdk_drivers = []
>  dpdk_extra_ldflags = []
> --
> 2.26.2
>

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

* Re: [dpdk-dev] [PATCH v2] build: remove special handling for node library
  2020-07-04 14:22   ` Jerin Jacob
@ 2020-07-05 10:50     ` Thomas Monjalon
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Monjalon @ 2020-07-05 10:50 UTC (permalink / raw)
  To: dev
  Cc: David Marchand, Richardson, Bruce, Nithin Dabilpuram,
	Jerin Jacob, Luca Boccassi, Sunil Pai G, Jerin Jacob

04/07/2020 16:22, Jerin Jacob:
> On Thu, Jul 2, 2020 at 9:39 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> >
> > The node library had a need of being linked as a whole
> > to make some constructors effective.
> > Now that all libraries are linked with --whole-archive,
> > there is no need to have this library separate.
> >
> > Fixes: e2db26f76673 ("build: always link whole DPDK static libraries")
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> 
> Tested the change with: echo "node_list_dump" | sudo
> ./build/app/test/dpdk-test   -c 0x3
> 
> Tested-by: Jerin Jacob <jerinj@marvell.com>

Applied





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

end of thread, other threads:[~2020-07-05 10:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-01 18:05 [dpdk-dev] [PATCH] build: remove special handling for node library Thomas Monjalon
2020-07-02  9:17 ` Bruce Richardson
2020-07-02  9:53   ` Jerin Jacob
2020-07-02 10:21     ` Thomas Monjalon
2020-07-02 16:09 ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
2020-07-04 14:22   ` Jerin Jacob
2020-07-05 10:50     ` 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).