DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] build: use generic march on arm64 when using 'default' machine
@ 2018-12-24 12:56 Luca Boccassi
  2019-01-07 12:24 ` Bruce Richardson
                   ` (3 more replies)
  0 siblings, 4 replies; 20+ messages in thread
From: Luca Boccassi @ 2018-12-24 12:56 UTC (permalink / raw)
  To: dev; +Cc: bruce.richardson, christian.ehrhardt, Luca Boccassi, stable

When building for generic distribution we need a stable baseline
architecture, or depending on the build worker the result will vary.

Force the default flags if the user explicitly sets marchine=default
at configuration time.

Fixes: b1d48c41189a ("build: support ARM with meson")
Cc: stable@dpdk.org

Signed-off-by: Luca Boccassi <bluca@debian.org>
---
 config/arm/meson.build | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index dae55d6b2..fa21a2fd2 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -6,6 +6,7 @@
 march_opt = '-march=@0@'.format(machine)
 
 arm_force_native_march = false
+arm_force_default_march = machine == 'default'
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc+crypto']],
@@ -105,7 +106,11 @@ else
 	cmd_generic = ['generic', '', '', 'default', '']
 	cmd_output = cmd_generic # Set generic by default
 	machine_args = [] # Clear previous machine args
-	if not meson.is_cross_build()
+	if arm_force_default_march and not meson.is_cross_build()
+		machine = impl_generic
+		cmd_output = cmd_generic
+		impl_pn = 'default'
+	elif not meson.is_cross_build()
 		# The script returns ['Implementer', 'Variant', 'Architecture',
 		# 'Primary Part number', 'Revision']
 		detect_vendor = find_program(join_paths(
-- 
2.19.2

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

* Re: [dpdk-dev] [PATCH] build: use generic march on arm64 when using 'default' machine
  2018-12-24 12:56 [dpdk-dev] [PATCH] build: use generic march on arm64 when using 'default' machine Luca Boccassi
@ 2019-01-07 12:24 ` Bruce Richardson
  2019-01-07 13:40   ` Luca Boccassi
  2019-01-07 13:45   ` Luca Boccassi
  2019-01-07 13:39 ` [dpdk-dev] [PATCH v2] " Luca Boccassi
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 20+ messages in thread
From: Bruce Richardson @ 2019-01-07 12:24 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: dev, christian.ehrhardt, stable

On Mon, Dec 24, 2018 at 01:56:27PM +0100, Luca Boccassi wrote:
> When building for generic distribution we need a stable baseline
> architecture, or depending on the build worker the result will vary.
> 
> Force the default flags if the user explicitly sets marchine=default
typo: marchine

> at configuration time.
> 
> Fixes: b1d48c41189a ("build: support ARM with meson")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
>  config/arm/meson.build | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index dae55d6b2..fa21a2fd2 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -6,6 +6,7 @@
>  march_opt = '-march=@0@'.format(machine)
>  
>  arm_force_native_march = false
> +arm_force_default_march = machine == 'default'

Do we need a new variable here? Given it only seems to be used once below,
I think just having the boolean expression directly in the if statement is
clearer. If you do keep the variable, suggest putting braces around the
comparison, otherwise at first glance it looks like a chained assignment
like you get in C e.g. x = y = 0;

>  
>  machine_args_generic = [
>  	['default', ['-march=armv8-a+crc+crypto']],
> @@ -105,7 +106,11 @@ else
>  	cmd_generic = ['generic', '', '', 'default', '']
>  	cmd_output = cmd_generic # Set generic by default
>  	machine_args = [] # Clear previous machine args
> -	if not meson.is_cross_build()
> +	if arm_force_default_march and not meson.is_cross_build()
> +		machine = impl_generic
> +		cmd_output = cmd_generic
> +		impl_pn = 'default'
> +	elif not meson.is_cross_build()
>  		# The script returns ['Implementer', 'Variant', 'Architecture',
>  		# 'Primary Part number', 'Revision']
>  		detect_vendor = find_program(join_paths(
> -- 
> 2.19.2
> 
With these comments, looks ok to me from a meson viewpoint. I think an ack
from the arm side would be good to get too though.

Acked-by: Bruce Richardson <bruce.richardson@intel.com>

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

* [dpdk-dev] [PATCH v2] build: use generic march on arm64 when using 'default' machine
  2018-12-24 12:56 [dpdk-dev] [PATCH] build: use generic march on arm64 when using 'default' machine Luca Boccassi
  2019-01-07 12:24 ` Bruce Richardson
@ 2019-01-07 13:39 ` Luca Boccassi
  2019-01-07 14:11 ` [dpdk-dev] [PATCH v3] " Luca Boccassi
  2019-03-20 13:18 ` [dpdk-dev] [PATCH v4] " luca.boccassi
  3 siblings, 0 replies; 20+ messages in thread
From: Luca Boccassi @ 2019-01-07 13:39 UTC (permalink / raw)
  To: dev; +Cc: bruce.richardson, gavin.hu, viktorin, jerinj, Luca Boccassi, stable

When building for generic distribution we need a stable baseline
architecture, or depending on the build worker the result will vary.

Force the default flags if the user explicitly sets machine=default
at configuration time.

Fixes: b1d48c41189a ("build: support ARM with meson")
Cc: stable@dpdk.org

Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
v2: fix typo in commit message, remove variable used only once

 config/arm/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index dae55d6b2..f15ef6385 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -105,7 +105,11 @@ else
 	cmd_generic = ['generic', '', '', 'default', '']
 	cmd_output = cmd_generic # Set generic by default
 	machine_args = [] # Clear previous machine args
-	if not meson.is_cross_build()
+	if machine == 'default' and not meson.is_cross_build()
+		machine = impl_generic
+		cmd_output = cmd_generic
+		impl_pn = 'default'
+	elif not meson.is_cross_build()
 		# The script returns ['Implementer', 'Variant', 'Architecture',
 		# 'Primary Part number', 'Revision']
 		detect_vendor = find_program(join_paths(
-- 
2.20.1

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

* Re: [dpdk-dev] [PATCH] build: use generic march on arm64 when using 'default' machine
  2019-01-07 12:24 ` Bruce Richardson
@ 2019-01-07 13:40   ` Luca Boccassi
  2019-01-07 13:45   ` Luca Boccassi
  1 sibling, 0 replies; 20+ messages in thread
From: Luca Boccassi @ 2019-01-07 13:40 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, christian.ehrhardt, stable

On Mon, 2019-01-07 at 12:24 +0000, Bruce Richardson wrote:
> On Mon, Dec 24, 2018 at 01:56:27PM +0100, Luca Boccassi wrote:
> > When building for generic distribution we need a stable baseline
> > architecture, or depending on the build worker the result will
> > vary.
> > 
> > Force the default flags if the user explicitly sets
> > marchine=default
> 
> typo: marchine
> 
> > at configuration time.
> > 
> > Fixes: b1d48c41189a ("build: support ARM with meson")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> >  config/arm/meson.build | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index dae55d6b2..fa21a2fd2 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -6,6 +6,7 @@
> >  march_opt = '-march=@0@'.format(machine)
> >  
> >  arm_force_native_march = false
> > +arm_force_default_march = machine == 'default'
> 
> Do we need a new variable here? Given it only seems to be used once
> below,
> I think just having the boolean expression directly in the if
> statement is
> clearer. If you do keep the variable, suggest putting braces around
> the
> comparison, otherwise at first glance it looks like a chained
> assignment
> like you get in C e.g. x = y = 0;
> 
> >  
> >  machine_args_generic = [
> >  	['default', ['-march=armv8-a+crc+crypto']],
> > @@ -105,7 +106,11 @@ else
> >  	cmd_generic = ['generic', '', '', 'default', '']
> >  	cmd_output = cmd_generic # Set generic by default
> >  	machine_args = [] # Clear previous machine args
> > -	if not meson.is_cross_build()
> > +	if arm_force_default_march and not meson.is_cross_build()
> > +		machine = impl_generic
> > +		cmd_output = cmd_generic
> > +		impl_pn = 'default'
> > +	elif not meson.is_cross_build()
> >  		# The script returns ['Implementer', 'Variant',
> > 'Architecture',
> >  		# 'Primary Part number', 'Revision']
> >  		detect_vendor = find_program(join_paths(
> > -- 
> > 2.19.2
> > 
> 
> With these comments, looks ok to me from a meson viewpoint. I think
> an ack
> from the arm side would be good to get too though.
> 
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Fixed typo, removed variable and added the arm maintainers to CC in v2,
thanks.

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-dev] [PATCH] build: use generic march on arm64 when using 'default' machine
  2019-01-07 12:24 ` Bruce Richardson
  2019-01-07 13:40   ` Luca Boccassi
@ 2019-01-07 13:45   ` Luca Boccassi
  1 sibling, 0 replies; 20+ messages in thread
From: Luca Boccassi @ 2019-01-07 13:45 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, christian.ehrhardt, stable

On Mon, 2019-01-07 at 12:24 +0000, Bruce Richardson wrote:
> On Mon, Dec 24, 2018 at 01:56:27PM +0100, Luca Boccassi wrote:
> > When building for generic distribution we need a stable baseline
> > architecture, or depending on the build worker the result will
> > vary.
> > 
> > Force the default flags if the user explicitly sets
> > marchine=default
> 
> typo: marchine
> 
> > at configuration time.
> > 
> > Fixes: b1d48c41189a ("build: support ARM with meson")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> >  config/arm/meson.build | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index dae55d6b2..fa21a2fd2 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -6,6 +6,7 @@
> >  march_opt = '-march=@0@'.format(machine)
> >  
> >  arm_force_native_march = false
> > +arm_force_default_march = machine == 'default'
> 
> Do we need a new variable here? Given it only seems to be used once
> below,
> I think just having the boolean expression directly in the if
> statement is
> clearer. If you do keep the variable, suggest putting braces around
> the
> comparison, otherwise at first glance it looks like a chained
> assignment
> like you get in C e.g. x = y = 0;

Eheh it looks like I was a bit too hasty - I now remember that the main
reason I added a new variable is that the "machine" variable gets
overridden just before  the if branch, so the original value is lost. I
could refactor and rename, but that would be more intrusive so I had
opted to just do what was already done for the other "force" case.

-- 
Kind regards,
Luca Boccassi

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

* [dpdk-dev] [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2018-12-24 12:56 [dpdk-dev] [PATCH] build: use generic march on arm64 when using 'default' machine Luca Boccassi
  2019-01-07 12:24 ` Bruce Richardson
  2019-01-07 13:39 ` [dpdk-dev] [PATCH v2] " Luca Boccassi
@ 2019-01-07 14:11 ` Luca Boccassi
  2019-01-11 10:45   ` Luca Boccassi
                     ` (2 more replies)
  2019-03-20 13:18 ` [dpdk-dev] [PATCH v4] " luca.boccassi
  3 siblings, 3 replies; 20+ messages in thread
From: Luca Boccassi @ 2019-01-07 14:11 UTC (permalink / raw)
  To: dev; +Cc: bruce.richardson, gavin.hu, viktorin, jerinj, Luca Boccassi, stable

When building for generic distribution we need a stable baseline
architecture, or depending on the build worker the result will vary.

Force the default flags if the user explicitly sets machine=default
at configuration time.

Fixes: b1d48c41189a ("build: support ARM with meson")
Cc: stable@dpdk.org

Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
v2: fix typo in commit message, remove variable used only once
v3: put back temporary variable, as "machine" gets overwritten
    by the function and loses the original value before we need
    it.

 config/arm/meson.build | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index dae55d6b2..614139534 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -6,6 +6,7 @@
 march_opt = '-march=@0@'.format(machine)
 
 arm_force_native_march = false
+arm_force_default_march = (machine == 'default')
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc+crypto']],
@@ -105,7 +106,11 @@ else
 	cmd_generic = ['generic', '', '', 'default', '']
 	cmd_output = cmd_generic # Set generic by default
 	machine_args = [] # Clear previous machine args
-	if not meson.is_cross_build()
+	if arm_force_default_march and not meson.is_cross_build()
+		machine = impl_generic
+		cmd_output = cmd_generic
+		impl_pn = 'default'
+	elif not meson.is_cross_build()
 		# The script returns ['Implementer', 'Variant', 'Architecture',
 		# 'Primary Part number', 'Revision']
 		detect_vendor = find_program(join_paths(
-- 
2.20.1

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

* Re: [dpdk-dev] [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-01-07 14:11 ` [dpdk-dev] [PATCH v3] " Luca Boccassi
@ 2019-01-11 10:45   ` Luca Boccassi
  2019-01-14  8:09     ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
  2019-02-27 12:15   ` [dpdk-dev] " Luca Boccassi
  2019-03-20  5:01   ` Pavan Nikhilesh Bhagavatula
  2 siblings, 1 reply; 20+ messages in thread
From: Luca Boccassi @ 2019-01-11 10:45 UTC (permalink / raw)
  To: dev; +Cc: gavin.hu, viktorin, jerinj, stable

On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> When building for generic distribution we need a stable baseline
> architecture, or depending on the build worker the result will vary.
> 
> Force the default flags if the user explicitly sets machine=default
> at configuration time.
> 
> Fixes: b1d48c41189a ("build: support ARM with meson")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> v2: fix typo in commit message, remove variable used only once
> v3: put back temporary variable, as "machine" gets overwritten
>     by the function and loses the original value before we need
>     it.
> 
>  config/arm/meson.build | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index dae55d6b2..614139534 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -6,6 +6,7 @@
>  march_opt = '-march=@0@'.format(machine)
>  
>  arm_force_native_march = false
> +arm_force_default_march = (machine == 'default')
>  
>  machine_args_generic = [
>  	['default', ['-march=armv8-a+crc+crypto']],
> @@ -105,7 +106,11 @@ else
>  	cmd_generic = ['generic', '', '', 'default', '']
>  	cmd_output = cmd_generic # Set generic by default
>  	machine_args = [] # Clear previous machine args
> -	if not meson.is_cross_build()
> +	if arm_force_default_march and not meson.is_cross_build()
> +		machine = impl_generic
> +		cmd_output = cmd_generic
> +		impl_pn = 'default'
> +	elif not meson.is_cross_build()
>  		# The script returns ['Implementer', 'Variant',
> 'Architecture',
>  		# 'Primary Part number', 'Revision']
>  		detect_vendor = find_program(join_paths(

Any chance for a quick review from the arm maintainers/devs? Thanks!

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-dev] [EXT] Re: [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-01-11 10:45   ` Luca Boccassi
@ 2019-01-14  8:09     ` Jerin Jacob Kollanukkaran
  2019-01-14  9:58       ` Luca Boccassi
  0 siblings, 1 reply; 20+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-01-14  8:09 UTC (permalink / raw)
  To: bluca, dev; +Cc: gavin.hu, stable, viktorin, bruce.richardson

On Fri, 2019-01-11 at 10:45 +0000, Luca Boccassi wrote:
> External Email
> 
> -------------------------------------------------------------------
> ---
> On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > When building for generic distribution we need a stable baseline
> > architecture, or depending on the build worker the result will
> > vary.
> > 
> > Force the default flags if the user explicitly sets machine=default
> > at configuration time.
> > 
> > Fixes: b1d48c41189a ("build: support ARM with meson")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> > v2: fix typo in commit message, remove variable used only once
> > v3: put back temporary variable, as "machine" gets overwritten
> >     by the function and loses the original value before we need
> >     it.
> > 
> >  config/arm/meson.build | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index dae55d6b2..614139534 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -6,6 +6,7 @@
> >  march_opt = '-march=@0@'.format(machine)
> >  
> >  arm_force_native_march = false
> > +arm_force_default_march = (machine == 'default')
> >  
> >  machine_args_generic = [
> >  	['default', ['-march=armv8-a+crc+crypto']],
> > @@ -105,7 +106,11 @@ else
> >  	cmd_generic = ['generic', '', '', 'default', '']
> >  	cmd_output = cmd_generic # Set generic by default
> >  	machine_args = [] # Clear previous machine args
> > -	if not meson.is_cross_build()
> > +	if arm_force_default_march and not meson.is_cross_build()
> > +		machine = impl_generic
> > +		cmd_output = cmd_generic
> > +		impl_pn = 'default'
> > +	elif not meson.is_cross_build()
> >  		# The script returns ['Implementer', 'Variant',
> > 'Architecture',
> >  		# 'Primary Part number', 'Revision']
> >  		detect_vendor = find_program(join_paths(
> 
> Any chance for a quick review from the arm maintainers/devs? Thanks!

Looks good.

Could you please document the procedure to build generic image some
where in the DPDK documentation.

I guess the procedure will be same for x86 and arm64. Right?




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

* Re: [dpdk-dev] [EXT] Re: [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-01-14  8:09     ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
@ 2019-01-14  9:58       ` Luca Boccassi
  2019-01-14 10:35         ` Jerin Jacob Kollanukkaran
  0 siblings, 1 reply; 20+ messages in thread
From: Luca Boccassi @ 2019-01-14  9:58 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, dev
  Cc: gavin.hu, stable, viktorin, bruce.richardson

On Mon, 2019-01-14 at 08:09 +0000, Jerin Jacob Kollanukkaran wrote:
> On Fri, 2019-01-11 at 10:45 +0000, Luca Boccassi wrote:
> > External Email
> > 
> > -------------------------------------------------------------------
> > ---
> > On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > > When building for generic distribution we need a stable baseline
> > > architecture, or depending on the build worker the result will
> > > vary.
> > > 
> > > Force the default flags if the user explicitly sets
> > > machine=default
> > > at configuration time.
> > > 
> > > Fixes: b1d48c41189a ("build: support ARM with meson")
> > > Cc: stable@dpdk.org
> > > 
> > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > > ---
> > > v2: fix typo in commit message, remove variable used only once
> > > v3: put back temporary variable, as "machine" gets overwritten
> > >     by the function and loses the original value before we need
> > >     it.
> > > 
> > >  config/arm/meson.build | 7 ++++++-
> > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > > index dae55d6b2..614139534 100644
> > > --- a/config/arm/meson.build
> > > +++ b/config/arm/meson.build
> > > @@ -6,6 +6,7 @@
> > >  march_opt = '-march=@0@'.format(machine)
> > >  
> > >  arm_force_native_march = false
> > > +arm_force_default_march = (machine == 'default')
> > >  
> > >  machine_args_generic = [
> > >  	['default', ['-march=armv8-a+crc+crypto']],
> > > @@ -105,7 +106,11 @@ else
> > >  	cmd_generic = ['generic', '', '', 'default', '']
> > >  	cmd_output = cmd_generic # Set generic by default
> > >  	machine_args = [] # Clear previous machine args
> > > -	if not meson.is_cross_build()
> > > +	if arm_force_default_march and not
> > > meson.is_cross_build()
> > > +		machine = impl_generic
> > > +		cmd_output = cmd_generic
> > > +		impl_pn = 'default'
> > > +	elif not meson.is_cross_build()
> > >  		# The script returns ['Implementer', 'Variant',
> > > 'Architecture',
> > >  		# 'Primary Part number', 'Revision']
> > >  		detect_vendor = find_program(join_paths(
> > 
> > Any chance for a quick review from the arm maintainers/devs?
> > Thanks!
> 
> Looks good.
> 
> Could you please document the procedure to build generic image some
> where in the DPDK documentation.
> 
> I guess the procedure will be same for x86 and arm64. Right?

The "machine" meson option is already described in meson_options.txt,
is that enough?

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-dev] [EXT] Re: [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-01-14  9:58       ` Luca Boccassi
@ 2019-01-14 10:35         ` Jerin Jacob Kollanukkaran
  2019-01-14 11:07           ` Luca Boccassi
  0 siblings, 1 reply; 20+ messages in thread
From: Jerin Jacob Kollanukkaran @ 2019-01-14 10:35 UTC (permalink / raw)
  To: bluca, dev; +Cc: gavin.hu, stable, viktorin, bruce.richardson

On Mon, 2019-01-14 at 09:58 +0000, Luca Boccassi wrote:
> On Mon, 2019-01-14 at 08:09 +0000, Jerin Jacob Kollanukkaran wrote:
> > On Fri, 2019-01-11 at 10:45 +0000, Luca Boccassi wrote:
> > > External Email
> > > 
> > > ---------------------------------------------------------------
> > > ----
> > > ---
> > > On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > > > When building for generic distribution we need a stable
> > > > baseline
> > > > architecture, or depending on the build worker the result will
> > > > vary.
> > > > 
> > > > Force the default flags if the user explicitly sets
> > > > machine=default
> > > > at configuration time.
> > > > 
> > > > Fixes: b1d48c41189a ("build: support ARM with meson")
> > > > Cc: stable@dpdk.org
> > > > 
> > > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > > > ---
> > > > v2: fix typo in commit message, remove variable used only once
> > > > v3: put back temporary variable, as "machine" gets overwritten
> > > >     by the function and loses the original value before we need
> > > >     it.
> > > > 
> > > >  config/arm/meson.build | 7 ++++++-
> > > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > > > index dae55d6b2..614139534 100644
> > > > --- a/config/arm/meson.build
> > > > +++ b/config/arm/meson.build
> > > > @@ -6,6 +6,7 @@
> > > >  march_opt = '-march=@0@'.format(machine)
> > > >  
> > > >  arm_force_native_march = false
> > > > +arm_force_default_march = (machine == 'default')
> > > >  
> > > >  machine_args_generic = [
> > > >  	['default', ['-march=armv8-a+crc+crypto']],
> > > > @@ -105,7 +106,11 @@ else
> > > >  	cmd_generic = ['generic', '', '', 'default', '']
> > > >  	cmd_output = cmd_generic # Set generic by default
> > > >  	machine_args = [] # Clear previous machine args
> > > > -	if not meson.is_cross_build()
> > > > +	if arm_force_default_march and not
> > > > meson.is_cross_build()
> > > > +		machine = impl_generic
> > > > +		cmd_output = cmd_generic
> > > > +		impl_pn = 'default'
> > > > +	elif not meson.is_cross_build()
> > > >  		# The script returns ['Implementer', 'Variant',
> > > > 'Architecture',
> > > >  		# 'Primary Part number', 'Revision']
> > > >  		detect_vendor = find_program(join_paths(
> > > 
> > > Any chance for a quick review from the arm maintainers/devs?
> > > Thanks!
> > 
> > Looks good.
> > 
> > Could you please document the procedure to build generic image some
> > where in the DPDK documentation.
> > 
> > I guess the procedure will be same for x86 and arm64. Right?
> 
> The "machine" meson option is already described in meson_options.txt,
> is that enough?

I meant, Documenting the steps to create the generic image i.e -
Dmachine=default scheme to use generic build for meson based
distribution build.

Is it same for x86 too?

meson configure -Dmachine=default
meson build
cd build
ninja
ninja install


> 

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

* Re: [dpdk-dev] [EXT] Re: [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-01-14 10:35         ` Jerin Jacob Kollanukkaran
@ 2019-01-14 11:07           ` Luca Boccassi
  0 siblings, 0 replies; 20+ messages in thread
From: Luca Boccassi @ 2019-01-14 11:07 UTC (permalink / raw)
  To: Jerin Jacob Kollanukkaran, dev
  Cc: gavin.hu, stable, viktorin, bruce.richardson

On Mon, 2019-01-14 at 10:35 +0000, Jerin Jacob Kollanukkaran wrote:
> On Mon, 2019-01-14 at 09:58 +0000, Luca Boccassi wrote:
> > On Mon, 2019-01-14 at 08:09 +0000, Jerin Jacob Kollanukkaran wrote:
> > > On Fri, 2019-01-11 at 10:45 +0000, Luca Boccassi wrote:
> > > > External Email
> > > > 
> > > > ---------------------------------------------------------------
> > > > ----
> > > > ---
> > > > On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > > > > When building for generic distribution we need a stable
> > > > > baseline
> > > > > architecture, or depending on the build worker the result
> > > > > will
> > > > > vary.
> > > > > 
> > > > > Force the default flags if the user explicitly sets
> > > > > machine=default
> > > > > at configuration time.
> > > > > 
> > > > > Fixes: b1d48c41189a ("build: support ARM with meson")
> > > > > Cc: stable@dpdk.org
> > > > > 
> > > > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > > > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > > > > ---
> > > > > v2: fix typo in commit message, remove variable used only
> > > > > once
> > > > > v3: put back temporary variable, as "machine" gets
> > > > > overwritten
> > > > >     by the function and loses the original value before we
> > > > > need
> > > > >     it.
> > > > > 
> > > > >  config/arm/meson.build | 7 ++++++-
> > > > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > > > > index dae55d6b2..614139534 100644
> > > > > --- a/config/arm/meson.build
> > > > > +++ b/config/arm/meson.build
> > > > > @@ -6,6 +6,7 @@
> > > > >  march_opt = '-march=@0@'.format(machine)
> > > > >  
> > > > >  arm_force_native_march = false
> > > > > +arm_force_default_march = (machine == 'default')
> > > > >  
> > > > >  machine_args_generic = [
> > > > >  	['default', ['-march=armv8-a+crc+crypto']],
> > > > > @@ -105,7 +106,11 @@ else
> > > > >  	cmd_generic = ['generic', '', '', 'default', '']
> > > > >  	cmd_output = cmd_generic # Set generic by default
> > > > >  	machine_args = [] # Clear previous machine args
> > > > > -	if not meson.is_cross_build()
> > > > > +	if arm_force_default_march and not
> > > > > meson.is_cross_build()
> > > > > +		machine = impl_generic
> > > > > +		cmd_output = cmd_generic
> > > > > +		impl_pn = 'default'
> > > > > +	elif not meson.is_cross_build()
> > > > >  		# The script returns ['Implementer',
> > > > > 'Variant',
> > > > > 'Architecture',
> > > > >  		# 'Primary Part number', 'Revision']
> > > > >  		detect_vendor = find_program(join_paths(
> > > > 
> > > > Any chance for a quick review from the arm maintainers/devs?
> > > > Thanks!
> > > 
> > > Looks good.
> > > 
> > > Could you please document the procedure to build generic image
> > > some
> > > where in the DPDK documentation.
> > > 
> > > I guess the procedure will be same for x86 and arm64. Right?
> > 
> > The "machine" meson option is already described in
> > meson_options.txt,
> > is that enough?
> 
> I meant, Documenting the steps to create the generic image i.e -
> Dmachine=default scheme to use generic build for meson based
> distribution build.
> 
> Is it same for x86 too?
> 
> meson configure -Dmachine=default
> meson build
> cd build
> ninja
> ninja install

Yes that's correct, for any architecture "-Dmachine=default" will pick
a stable baseline.
I can send a separate patch to update the doc with that command.

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-dev] [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-01-07 14:11 ` [dpdk-dev] [PATCH v3] " Luca Boccassi
  2019-01-11 10:45   ` Luca Boccassi
@ 2019-02-27 12:15   ` Luca Boccassi
  2019-03-20  5:01   ` Pavan Nikhilesh Bhagavatula
  2 siblings, 0 replies; 20+ messages in thread
From: Luca Boccassi @ 2019-02-27 12:15 UTC (permalink / raw)
  To: dev

On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> When building for generic distribution we need a stable baseline
> architecture, or depending on the build worker the result will vary.
> 
> Force the default flags if the user explicitly sets machine=default
> at configuration time.
> 
> Fixes: b1d48c41189a ("build: support ARM with meson")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> v2: fix typo in commit message, remove variable used only once
> v3: put back temporary variable, as "machine" gets overwritten
>     by the function and loses the original value before we need
>     it.
> 
>  config/arm/meson.build | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index dae55d6b2..614139534 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -6,6 +6,7 @@
>  march_opt = '-march=@0@'.format(machine)
>  
>  arm_force_native_march = false
> +arm_force_default_march = (machine == 'default')
>  
>  machine_args_generic = [
>  	['default', ['-march=armv8-a+crc+crypto']],
> @@ -105,7 +106,11 @@ else
>  	cmd_generic = ['generic', '', '', 'default', '']
>  	cmd_output = cmd_generic # Set generic by default
>  	machine_args = [] # Clear previous machine args
> -	if not meson.is_cross_build()
> +	if arm_force_default_march and not meson.is_cross_build()
> +		machine = impl_generic
> +		cmd_output = cmd_generic
> +		impl_pn = 'default'
> +	elif not meson.is_cross_build()
>  		# The script returns ['Implementer', 'Variant',
> 'Architecture',
>  		# 'Primary Part number', 'Revision']
>  		detect_vendor = find_program(join_paths(

Ping - anything else I can do for this patch? It's necessary for distro
native builds, at least in Debian/Ubuntu. Thanks!

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-dev] [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-01-07 14:11 ` [dpdk-dev] [PATCH v3] " Luca Boccassi
  2019-01-11 10:45   ` Luca Boccassi
  2019-02-27 12:15   ` [dpdk-dev] " Luca Boccassi
@ 2019-03-20  5:01   ` Pavan Nikhilesh Bhagavatula
  2019-03-20  5:01     ` Pavan Nikhilesh Bhagavatula
  2019-03-20 13:18     ` Luca Boccassi
  2 siblings, 2 replies; 20+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-03-20  5:01 UTC (permalink / raw)
  To: dev, bluca
  Cc: stable, gavin.hu, viktorin, Jerin Jacob Kollanukkaran, bruce.richardson

On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> When building for generic distribution we need a stable baseline
> architecture, or depending on the build worker the result will vary.
> 
> Force the default flags if the user explicitly sets machine=default
> at configuration time.
> 
> Fixes: b1d48c41189a ("build: support ARM with meson")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> v2: fix typo in commit message, remove variable used only once
> v3: put back temporary variable, as "machine" gets overwritten
>     by the function and loses the original value before we need
>     it.
> 
>  config/arm/meson.build | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index dae55d6b2..614139534 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -6,6 +6,7 @@
>  march_opt = '-march=@0@'.format(machine)
>  
>  arm_force_native_march = false
> +arm_force_default_march = (machine == 'default')
>  
>  machine_args_generic = [
>  	['default', ['-march=armv8-a+crc+crypto']],
> @@ -105,7 +106,11 @@ else
>  	cmd_generic = ['generic', '', '', 'default', '']
>  	cmd_output = cmd_generic # Set generic by default
^
>  	machine_args = [] # Clear previous machine args
> -	if not meson.is_cross_build()
> +	if arm_force_default_march and not meson.is_cross_build()
> +		machine = impl_generic
> +		cmd_output = cmd_generic

Isn't this assignment redundant as it is already done above?

Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

> +		impl_pn = 'default'
> +	elif not meson.is_cross_build()
>  		# The script returns ['Implementer', 'Variant',
> 'Architecture',
>  		# 'Primary Part number', 'Revision']
>  		detect_vendor = find_program(join_paths(

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

* Re: [dpdk-dev] [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-03-20  5:01   ` Pavan Nikhilesh Bhagavatula
@ 2019-03-20  5:01     ` Pavan Nikhilesh Bhagavatula
  2019-03-20 13:18     ` Luca Boccassi
  1 sibling, 0 replies; 20+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2019-03-20  5:01 UTC (permalink / raw)
  To: dev, bluca
  Cc: stable, gavin.hu, viktorin, Jerin Jacob Kollanukkaran, bruce.richardson

On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> When building for generic distribution we need a stable baseline
> architecture, or depending on the build worker the result will vary.
> 
> Force the default flags if the user explicitly sets machine=default
> at configuration time.
> 
> Fixes: b1d48c41189a ("build: support ARM with meson")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> v2: fix typo in commit message, remove variable used only once
> v3: put back temporary variable, as "machine" gets overwritten
>     by the function and loses the original value before we need
>     it.
> 
>  config/arm/meson.build | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index dae55d6b2..614139534 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -6,6 +6,7 @@
>  march_opt = '-march=@0@'.format(machine)
>  
>  arm_force_native_march = false
> +arm_force_default_march = (machine == 'default')
>  
>  machine_args_generic = [
>  	['default', ['-march=armv8-a+crc+crypto']],
> @@ -105,7 +106,11 @@ else
>  	cmd_generic = ['generic', '', '', 'default', '']
>  	cmd_output = cmd_generic # Set generic by default
^
>  	machine_args = [] # Clear previous machine args
> -	if not meson.is_cross_build()
> +	if arm_force_default_march and not meson.is_cross_build()
> +		machine = impl_generic
> +		cmd_output = cmd_generic

Isn't this assignment redundant as it is already done above?

Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

> +		impl_pn = 'default'
> +	elif not meson.is_cross_build()
>  		# The script returns ['Implementer', 'Variant',
> 'Architecture',
>  		# 'Primary Part number', 'Revision']
>  		detect_vendor = find_program(join_paths(

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

* [dpdk-dev] [PATCH v4] build: use generic march on arm64 when using 'default' machine
  2018-12-24 12:56 [dpdk-dev] [PATCH] build: use generic march on arm64 when using 'default' machine Luca Boccassi
                   ` (2 preceding siblings ...)
  2019-01-07 14:11 ` [dpdk-dev] [PATCH v3] " Luca Boccassi
@ 2019-03-20 13:18 ` luca.boccassi
  2019-03-20 13:18   ` luca.boccassi
  2019-04-17 20:27   ` Thomas Monjalon
  3 siblings, 2 replies; 20+ messages in thread
From: luca.boccassi @ 2019-03-20 13:18 UTC (permalink / raw)
  To: dev

From: Luca Boccassi <bluca@debian.org>

When building for generic distribution we need a stable baseline
architecture, or depending on the build worker the result will vary.

Force the default flags if the user explicitly sets machine=default
at configuration time.

Fixes: b1d48c41189a ("build: support ARM with meson")
Cc: stable@dpdk.org

Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
v2: fix typo in commit message, remove variable used only once
v3: put back temporary variable, as "machine" gets overwritten
    by the function and loses the original value before we need
    it.
v4: add acked-by, remove redundant assignment

 config/arm/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 8e892fa77..dddec4e04 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -6,6 +6,7 @@
 march_opt = '-march=@0@'.format(machine)
 
 arm_force_native_march = false
+arm_force_default_march = (machine == 'default')
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc+crypto']],
@@ -106,7 +107,10 @@ else
 	cmd_generic = ['generic', '', '', 'default', '']
 	cmd_output = cmd_generic # Set generic by default
 	machine_args = [] # Clear previous machine args
-	if not meson.is_cross_build()
+	if arm_force_default_march and not meson.is_cross_build()
+		machine = impl_generic
+		impl_pn = 'default'
+	elif not meson.is_cross_build()
 		# The script returns ['Implementer', 'Variant', 'Architecture',
 		# 'Primary Part number', 'Revision']
 		detect_vendor = find_program(join_paths(
-- 
2.20.1

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

* [dpdk-dev] [PATCH v4] build: use generic march on arm64 when using 'default' machine
  2019-03-20 13:18 ` [dpdk-dev] [PATCH v4] " luca.boccassi
@ 2019-03-20 13:18   ` luca.boccassi
  2019-04-17 20:27   ` Thomas Monjalon
  1 sibling, 0 replies; 20+ messages in thread
From: luca.boccassi @ 2019-03-20 13:18 UTC (permalink / raw)
  To: dev

From: Luca Boccassi <bluca@debian.org>

When building for generic distribution we need a stable baseline
architecture, or depending on the build worker the result will vary.

Force the default flags if the user explicitly sets machine=default
at configuration time.

Fixes: b1d48c41189a ("build: support ARM with meson")
Cc: stable@dpdk.org

Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
v2: fix typo in commit message, remove variable used only once
v3: put back temporary variable, as "machine" gets overwritten
    by the function and loses the original value before we need
    it.
v4: add acked-by, remove redundant assignment

 config/arm/meson.build | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 8e892fa77..dddec4e04 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -6,6 +6,7 @@
 march_opt = '-march=@0@'.format(machine)
 
 arm_force_native_march = false
+arm_force_default_march = (machine == 'default')
 
 machine_args_generic = [
 	['default', ['-march=armv8-a+crc+crypto']],
@@ -106,7 +107,10 @@ else
 	cmd_generic = ['generic', '', '', 'default', '']
 	cmd_output = cmd_generic # Set generic by default
 	machine_args = [] # Clear previous machine args
-	if not meson.is_cross_build()
+	if arm_force_default_march and not meson.is_cross_build()
+		machine = impl_generic
+		impl_pn = 'default'
+	elif not meson.is_cross_build()
 		# The script returns ['Implementer', 'Variant', 'Architecture',
 		# 'Primary Part number', 'Revision']
 		detect_vendor = find_program(join_paths(
-- 
2.20.1


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

* Re: [dpdk-dev] [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-03-20  5:01   ` Pavan Nikhilesh Bhagavatula
  2019-03-20  5:01     ` Pavan Nikhilesh Bhagavatula
@ 2019-03-20 13:18     ` Luca Boccassi
  2019-03-20 13:18       ` Luca Boccassi
  1 sibling, 1 reply; 20+ messages in thread
From: Luca Boccassi @ 2019-03-20 13:18 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, dev
  Cc: stable, gavin.hu, viktorin, Jerin Jacob Kollanukkaran, bruce.richardson

On Wed, 2019-03-20 at 05:01 +0000, Pavan Nikhilesh Bhagavatula wrote:
> On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > When building for generic distribution we need a stable baseline
> > architecture, or depending on the build worker the result will
> > vary.
> > 
> > Force the default flags if the user explicitly sets machine=default
> > at configuration time.
> > 
> > Fixes: b1d48c41189a ("build: support ARM with meson")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> > v2: fix typo in commit message, remove variable used only once
> > v3: put back temporary variable, as "machine" gets overwritten
> >     by the function and loses the original value before we need
> >     it.
> > 
> >  config/arm/meson.build | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index dae55d6b2..614139534 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -6,6 +6,7 @@
> >  march_opt = '-march=@0@'.format(machine)
> >  
> >  arm_force_native_march = false
> > +arm_force_default_march = (machine == 'default')
> >  
> >  machine_args_generic = [
> >  	['default', ['-march=armv8-a+crc+crypto']],
> > @@ -105,7 +106,11 @@ else
> >  	cmd_generic = ['generic', '', '', 'default', '']
> >  	cmd_output = cmd_generic # Set generic by default
> ^
> >  	machine_args = [] # Clear previous machine args
> > -	if not meson.is_cross_build()
> > +	if arm_force_default_march and not meson.is_cross_build()
> > +		machine = impl_generic
> > +		cmd_output = cmd_generic
> 
> Isn't this assignment redundant as it is already done above?
> 
> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

Removed in v4, thanks.

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-dev] [PATCH v3] build: use generic march on arm64 when using 'default' machine
  2019-03-20 13:18     ` Luca Boccassi
@ 2019-03-20 13:18       ` Luca Boccassi
  0 siblings, 0 replies; 20+ messages in thread
From: Luca Boccassi @ 2019-03-20 13:18 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, dev
  Cc: stable, gavin.hu, viktorin, Jerin Jacob Kollanukkaran, bruce.richardson

On Wed, 2019-03-20 at 05:01 +0000, Pavan Nikhilesh Bhagavatula wrote:
> On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > When building for generic distribution we need a stable baseline
> > architecture, or depending on the build worker the result will
> > vary.
> > 
> > Force the default flags if the user explicitly sets machine=default
> > at configuration time.
> > 
> > Fixes: b1d48c41189a ("build: support ARM with meson")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> > v2: fix typo in commit message, remove variable used only once
> > v3: put back temporary variable, as "machine" gets overwritten
> >     by the function and loses the original value before we need
> >     it.
> > 
> >  config/arm/meson.build | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index dae55d6b2..614139534 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -6,6 +6,7 @@
> >  march_opt = '-march=@0@'.format(machine)
> >  
> >  arm_force_native_march = false
> > +arm_force_default_march = (machine == 'default')
> >  
> >  machine_args_generic = [
> >  	['default', ['-march=armv8-a+crc+crypto']],
> > @@ -105,7 +106,11 @@ else
> >  	cmd_generic = ['generic', '', '', 'default', '']
> >  	cmd_output = cmd_generic # Set generic by default
> ^
> >  	machine_args = [] # Clear previous machine args
> > -	if not meson.is_cross_build()
> > +	if arm_force_default_march and not meson.is_cross_build()
> > +		machine = impl_generic
> > +		cmd_output = cmd_generic
> 
> Isn't this assignment redundant as it is already done above?
> 
> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

Removed in v4, thanks.

-- 
Kind regards,
Luca Boccassi

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

* Re: [dpdk-dev] [PATCH v4] build: use generic march on arm64 when using 'default' machine
  2019-03-20 13:18 ` [dpdk-dev] [PATCH v4] " luca.boccassi
  2019-03-20 13:18   ` luca.boccassi
@ 2019-04-17 20:27   ` Thomas Monjalon
  2019-04-17 20:27     ` Thomas Monjalon
  1 sibling, 1 reply; 20+ messages in thread
From: Thomas Monjalon @ 2019-04-17 20:27 UTC (permalink / raw)
  To: luca.boccassi; +Cc: dev

20/03/2019 14:18, luca.boccassi@gmail.com:
> From: Luca Boccassi <bluca@debian.org>
> 
> When building for generic distribution we need a stable baseline
> architecture, or depending on the build worker the result will vary.
> 
> Force the default flags if the user explicitly sets machine=default
> at configuration time.
> 
> Fixes: b1d48c41189a ("build: support ARM with meson")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

Applied, thanks

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

* Re: [dpdk-dev] [PATCH v4] build: use generic march on arm64 when using 'default' machine
  2019-04-17 20:27   ` Thomas Monjalon
@ 2019-04-17 20:27     ` Thomas Monjalon
  0 siblings, 0 replies; 20+ messages in thread
From: Thomas Monjalon @ 2019-04-17 20:27 UTC (permalink / raw)
  To: luca.boccassi; +Cc: dev

20/03/2019 14:18, luca.boccassi@gmail.com:
> From: Luca Boccassi <bluca@debian.org>
> 
> When building for generic distribution we need a stable baseline
> architecture, or depending on the build worker the result will vary.
> 
> Force the default flags if the user explicitly sets machine=default
> at configuration time.
> 
> Fixes: b1d48c41189a ("build: support ARM with meson")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

Applied, thanks




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

end of thread, other threads:[~2019-04-17 20:27 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-24 12:56 [dpdk-dev] [PATCH] build: use generic march on arm64 when using 'default' machine Luca Boccassi
2019-01-07 12:24 ` Bruce Richardson
2019-01-07 13:40   ` Luca Boccassi
2019-01-07 13:45   ` Luca Boccassi
2019-01-07 13:39 ` [dpdk-dev] [PATCH v2] " Luca Boccassi
2019-01-07 14:11 ` [dpdk-dev] [PATCH v3] " Luca Boccassi
2019-01-11 10:45   ` Luca Boccassi
2019-01-14  8:09     ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2019-01-14  9:58       ` Luca Boccassi
2019-01-14 10:35         ` Jerin Jacob Kollanukkaran
2019-01-14 11:07           ` Luca Boccassi
2019-02-27 12:15   ` [dpdk-dev] " Luca Boccassi
2019-03-20  5:01   ` Pavan Nikhilesh Bhagavatula
2019-03-20  5:01     ` Pavan Nikhilesh Bhagavatula
2019-03-20 13:18     ` Luca Boccassi
2019-03-20 13:18       ` Luca Boccassi
2019-03-20 13:18 ` [dpdk-dev] [PATCH v4] " luca.boccassi
2019-03-20 13:18   ` luca.boccassi
2019-04-17 20:27   ` Thomas Monjalon
2019-04-17 20:27     ` 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).