DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH 0/2] Enable generic Arm build
@ 2023-04-14 12:41 Akihiko Odaki
  2023-04-14 12:41 ` [PATCH 1/2] config/arm: Do not require processor information Akihiko Odaki
  2023-04-14 12:41 ` [PATCH 2/2] config/arm: Enable NUMA for generic Arm build Akihiko Odaki
  0 siblings, 2 replies; 13+ messages in thread
From: Akihiko Odaki @ 2023-04-14 12:41 UTC (permalink / raw)
  Cc: dev, Akihiko Odaki

I use Apple Silicon computer as development environment. This allows to run
DPDK Test Suite on such Arm devices just as you can run DTS on x86
development machine.

Akihiko Odaki (2):
  config/arm: Do not require processor information
  config/arm: Enable NUMA for generic Arm build

 config/arm/meson.build | 42 +++++++++++++++++++++++-------------------
 1 file changed, 23 insertions(+), 19 deletions(-)

-- 
2.40.0


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

* [PATCH 1/2] config/arm: Do not require processor information
  2023-04-14 12:41 [PATCH 0/2] Enable generic Arm build Akihiko Odaki
@ 2023-04-14 12:41 ` Akihiko Odaki
  2023-04-17  7:41   ` Ruifeng Wang
  2023-04-14 12:41 ` [PATCH 2/2] config/arm: Enable NUMA for generic Arm build Akihiko Odaki
  1 sibling, 1 reply; 13+ messages in thread
From: Akihiko Odaki @ 2023-04-14 12:41 UTC (permalink / raw)
  To: Ruifeng Wang, Bruce Richardson; +Cc: dev, Akihiko Odaki

DPDK can be built even without exact processor information for x86 and
ppc so allow to build for Arm even if we don't know the targeted
processor is unknown.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
 config/arm/meson.build | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 6442ec9596..724c00ad7e 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -582,29 +582,31 @@ if update_flags
         enable_drivers += ',' + soc_config.get('enable_drivers', '')
     endif
 
-    if implementers.has_key(implementer_id)
+    if not implementers.has_key(implementer_id)
+        implementer_id = 'generic'
+    endif
+
+    implementer_config = implementers[implementer_id]
+    part_number_config = implementer_config['part_number_config']
+
+    if not part_number_config.has_key(part_number)
+        implementer_id = 'generic'
+
+        if dpdk_conf.get('RTE_ARCH_32')
+            part_number = 'generic_aarch32'
+        else
+            part_number = 'generic'
+        endif
+
         implementer_config = implementers[implementer_id]
-    else
-        error('Unsupported Arm implementer: @0@. '.format(implementer_id) +
-              'Please add support for it or use the generic ' +
-              '(-Dplatform=generic) build.')
+        part_number_config = implementer_config['part_number_config']
     endif
 
+    part_number_config = part_number_config[part_number]
+
     message('Arm implementer: ' + implementer_config['description'])
     message('Arm part number: ' + part_number)
 
-    part_number_config = implementer_config['part_number_config']
-    if part_number_config.has_key(part_number)
-        # use the specified part_number machine args if found
-        part_number_config = part_number_config[part_number]
-    else
-        # unknown part number
-        error('Unsupported part number @0@ of implementer @1@. '
-              .format(part_number, implementer_id) +
-              'Please add support for it or use the generic ' +
-              '(-Dplatform=generic) build.')
-    endif
-
     # add/overwrite flags in the proper order
     dpdk_flags = flags_common + implementer_config['flags'] + part_number_config.get('flags', []) + soc_flags
 
-- 
2.40.0


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

* [PATCH 2/2] config/arm: Enable NUMA for generic Arm build
  2023-04-14 12:41 [PATCH 0/2] Enable generic Arm build Akihiko Odaki
  2023-04-14 12:41 ` [PATCH 1/2] config/arm: Do not require processor information Akihiko Odaki
@ 2023-04-14 12:41 ` Akihiko Odaki
  2023-04-20  7:20   ` Ruifeng Wang
  1 sibling, 1 reply; 13+ messages in thread
From: Akihiko Odaki @ 2023-04-14 12:41 UTC (permalink / raw)
  To: Ruifeng Wang, Bruce Richardson; +Cc: dev, Akihiko Odaki

We enable NUMA even if the presence of NUMA is unknown for the other
architectures. Enable NUMA for generic Arm build too.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
 config/arm/meson.build | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 724c00ad7e..f8ee7cdafb 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -271,13 +271,15 @@ implementers = {
 soc_generic = {
     'description': 'Generic un-optimized build for armv8 aarch64 exec mode',
     'implementer': 'generic',
-    'part_number': 'generic'
+    'part_number': 'generic',
+    'numa': true
 }
 
 soc_generic_aarch32 = {
     'description': 'Generic un-optimized build for armv8 aarch32 exec mode',
     'implementer': 'generic',
-    'part_number': 'generic_aarch32'
+    'part_number': 'generic_aarch32',
+    'numa': true
 }
 
 soc_armada = {
-- 
2.40.0


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

* RE: [PATCH 1/2] config/arm: Do not require processor information
  2023-04-14 12:41 ` [PATCH 1/2] config/arm: Do not require processor information Akihiko Odaki
@ 2023-04-17  7:41   ` Ruifeng Wang
  2023-04-20  1:40     ` Akihiko Odaki
  0 siblings, 1 reply; 13+ messages in thread
From: Ruifeng Wang @ 2023-04-17  7:41 UTC (permalink / raw)
  To: Akihiko Odaki, Bruce Richardson, Juraj Linkeš; +Cc: dev, nd

> -----Original Message-----
> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> Sent: Friday, April 14, 2023 8:42 PM
> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson <bruce.richardson@intel.com>
> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
> Subject: [PATCH 1/2] config/arm: Do not require processor information
> 
> DPDK can be built even without exact processor information for x86 and ppc so allow to
> build for Arm even if we don't know the targeted processor is unknown.

Hi Akihiko,

The design idea was to require an explicit generic build.
Default/native build doesn't fall back to generic build when SoC info is not on the list.
So the user has less chance to generate a suboptimal binary by accident.

> 
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>  config/arm/meson.build | 36 +++++++++++++++++++-----------------
>  1 file changed, 19 insertions(+), 17 deletions(-)
> 
> diff --git a/config/arm/meson.build b/config/arm/meson.build index 6442ec9596..724c00ad7e
> 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -582,29 +582,31 @@ if update_flags
>          enable_drivers += ',' + soc_config.get('enable_drivers', '')
>      endif
> 
> -    if implementers.has_key(implementer_id)
> +    if not implementers.has_key(implementer_id)
> +        implementer_id = 'generic'
> +    endif
> +
> +    implementer_config = implementers[implementer_id]
> +    part_number_config = implementer_config['part_number_config']
> +
> +    if not part_number_config.has_key(part_number)
> +        implementer_id = 'generic'
> +
> +        if dpdk_conf.get('RTE_ARCH_32')
> +            part_number = 'generic_aarch32'
> +        else
> +            part_number = 'generic'
> +        endif
> +
>          implementer_config = implementers[implementer_id]
> -    else
> -        error('Unsupported Arm implementer: @0@. '.format(implementer_id) +
> -              'Please add support for it or use the generic ' +
> -              '(-Dplatform=generic) build.')
> +        part_number_config = implementer_config['part_number_config']
>      endif
> 
> +    part_number_config = part_number_config[part_number]
> +
>      message('Arm implementer: ' + implementer_config['description'])
>      message('Arm part number: ' + part_number)
> 
> -    part_number_config = implementer_config['part_number_config']
> -    if part_number_config.has_key(part_number)
> -        # use the specified part_number machine args if found
> -        part_number_config = part_number_config[part_number]
> -    else
> -        # unknown part number
> -        error('Unsupported part number @0@ of implementer @1@. '
> -              .format(part_number, implementer_id) +
> -              'Please add support for it or use the generic ' +
> -              '(-Dplatform=generic) build.')
> -    endif
> -
>      # add/overwrite flags in the proper order
>      dpdk_flags = flags_common + implementer_config['flags'] +
> part_number_config.get('flags', []) + soc_flags
> 
> --
> 2.40.0


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

* Re: [PATCH 1/2] config/arm: Do not require processor information
  2023-04-17  7:41   ` Ruifeng Wang
@ 2023-04-20  1:40     ` Akihiko Odaki
  2023-04-20  7:10       ` Ruifeng Wang
  0 siblings, 1 reply; 13+ messages in thread
From: Akihiko Odaki @ 2023-04-20  1:40 UTC (permalink / raw)
  To: Ruifeng Wang, Bruce Richardson, Juraj Linkeš; +Cc: dev, nd

On 2023/04/17 16:41, Ruifeng Wang wrote:
>> -----Original Message-----
>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
>> Sent: Friday, April 14, 2023 8:42 PM
>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson <bruce.richardson@intel.com>
>> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
>> Subject: [PATCH 1/2] config/arm: Do not require processor information
>>
>> DPDK can be built even without exact processor information for x86 and ppc so allow to
>> build for Arm even if we don't know the targeted processor is unknown.
> 
> Hi Akihiko,
> 
> The design idea was to require an explicit generic build.
> Default/native build doesn't fall back to generic build when SoC info is not on the list.
> So the user has less chance to generate a suboptimal binary by accident.

Hi,

It is true that the suboptimal binary can result, but the rationale here 
is that we tolerate that for x86 and ppc so it should not really matter 
for Arm too. On x86 and ppc you don't need to modify meson.build just to 
run dts on a development machine.

Regards,
Akihiko Odaki

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

* RE: [PATCH 1/2] config/arm: Do not require processor information
  2023-04-20  1:40     ` Akihiko Odaki
@ 2023-04-20  7:10       ` Ruifeng Wang
  2023-04-20  7:12         ` Akihiko Odaki
  0 siblings, 1 reply; 13+ messages in thread
From: Ruifeng Wang @ 2023-04-20  7:10 UTC (permalink / raw)
  To: Akihiko Odaki, Bruce Richardson, Juraj Linkeš; +Cc: dev, nd, nd

> -----Original Message-----
> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> Sent: Thursday, April 20, 2023 9:40 AM
> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson <bruce.richardson@intel.com>;
> Juraj Linkeš <juraj.linkes@pantheon.tech>
> Cc: dev@dpdk.org; nd <nd@arm.com>
> Subject: Re: [PATCH 1/2] config/arm: Do not require processor information
> 
> On 2023/04/17 16:41, Ruifeng Wang wrote:
> >> -----Original Message-----
> >> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> >> Sent: Friday, April 14, 2023 8:42 PM
> >> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
> >> <bruce.richardson@intel.com>
> >> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
> >> Subject: [PATCH 1/2] config/arm: Do not require processor information
> >>
> >> DPDK can be built even without exact processor information for x86
> >> and ppc so allow to build for Arm even if we don't know the targeted processor is
> unknown.
> >
> > Hi Akihiko,
> >
> > The design idea was to require an explicit generic build.
> > Default/native build doesn't fall back to generic build when SoC info is not on the list.
> > So the user has less chance to generate a suboptimal binary by accident.
> 
> Hi,
> 
> It is true that the suboptimal binary can result, but the rationale here is that we
> tolerate that for x86 and ppc so it should not really matter for Arm too. On x86 and ppc
> you don't need to modify meson.build just to run dts on a development machine.

What modification do you need for a development machine?
I suppose "meson setup build -Dplatform=generic" will generate a binary that can run
on your development machine.

> 
> Regards,
> Akihiko Odaki

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

* Re: [PATCH 1/2] config/arm: Do not require processor information
  2023-04-20  7:10       ` Ruifeng Wang
@ 2023-04-20  7:12         ` Akihiko Odaki
  2023-05-04  7:47           ` Akihiko Odaki
  0 siblings, 1 reply; 13+ messages in thread
From: Akihiko Odaki @ 2023-04-20  7:12 UTC (permalink / raw)
  To: Ruifeng Wang, Bruce Richardson, Juraj Linkeš; +Cc: dev, nd

On 2023/04/20 16:10, Ruifeng Wang wrote:
>> -----Original Message-----
>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
>> Sent: Thursday, April 20, 2023 9:40 AM
>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson <bruce.richardson@intel.com>;
>> Juraj Linkeš <juraj.linkes@pantheon.tech>
>> Cc: dev@dpdk.org; nd <nd@arm.com>
>> Subject: Re: [PATCH 1/2] config/arm: Do not require processor information
>>
>> On 2023/04/17 16:41, Ruifeng Wang wrote:
>>>> -----Original Message-----
>>>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
>>>> Sent: Friday, April 14, 2023 8:42 PM
>>>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
>>>> <bruce.richardson@intel.com>
>>>> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
>>>> Subject: [PATCH 1/2] config/arm: Do not require processor information
>>>>
>>>> DPDK can be built even without exact processor information for x86
>>>> and ppc so allow to build for Arm even if we don't know the targeted processor is
>> unknown.
>>>
>>> Hi Akihiko,
>>>
>>> The design idea was to require an explicit generic build.
>>> Default/native build doesn't fall back to generic build when SoC info is not on the list.
>>> So the user has less chance to generate a suboptimal binary by accident.
>>
>> Hi,
>>
>> It is true that the suboptimal binary can result, but the rationale here is that we
>> tolerate that for x86 and ppc so it should not really matter for Arm too. On x86 and ppc
>> you don't need to modify meson.build just to run dts on a development machine.
> 
> What modification do you need for a development machine?
> I suppose "meson setup build -Dplatform=generic" will generate a binary that can run
> on your development machine.

I didn't describe the situation well. I use DPDK Test Suite for testing 
and it determines what flags to be passed to Meson. You need to modify 
DPDK's meson.build or DTS to get it built.

> 
>>
>> Regards,
>> Akihiko Odaki

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

* RE: [PATCH 2/2] config/arm: Enable NUMA for generic Arm build
  2023-04-14 12:41 ` [PATCH 2/2] config/arm: Enable NUMA for generic Arm build Akihiko Odaki
@ 2023-04-20  7:20   ` Ruifeng Wang
  2023-04-22  5:26     ` Akihiko Odaki
  0 siblings, 1 reply; 13+ messages in thread
From: Ruifeng Wang @ 2023-04-20  7:20 UTC (permalink / raw)
  To: Akihiko Odaki, Bruce Richardson; +Cc: dev, nd

> -----Original Message-----
> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> Sent: Friday, April 14, 2023 8:42 PM
> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson <bruce.richardson@intel.com>
> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
> Subject: [PATCH 2/2] config/arm: Enable NUMA for generic Arm build
> 
> We enable NUMA even if the presence of NUMA is unknown for the other architectures. Enable
> NUMA for generic Arm build too.
> 
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>  config/arm/meson.build | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/config/arm/meson.build b/config/arm/meson.build index 724c00ad7e..f8ee7cdafb
> 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -271,13 +271,15 @@ implementers = {
>  soc_generic = {
>      'description': 'Generic un-optimized build for armv8 aarch64 exec mode',
>      'implementer': 'generic',
> -    'part_number': 'generic'
> +    'part_number': 'generic',
> +    'numa': true

The default value of numa is true. So no need to add it here?

if not soc_config.get('numa', true)
    has_libnuma = 0
endif

>  }
> 
>  soc_generic_aarch32 = {
>      'description': 'Generic un-optimized build for armv8 aarch32 exec mode',
>      'implementer': 'generic',
> -    'part_number': 'generic_aarch32'
> +    'part_number': 'generic_aarch32',
> +    'numa': true
>  }
> 
>  soc_armada = {
> --
> 2.40.0


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

* Re: [PATCH 2/2] config/arm: Enable NUMA for generic Arm build
  2023-04-20  7:20   ` Ruifeng Wang
@ 2023-04-22  5:26     ` Akihiko Odaki
  0 siblings, 0 replies; 13+ messages in thread
From: Akihiko Odaki @ 2023-04-22  5:26 UTC (permalink / raw)
  To: Ruifeng Wang, Bruce Richardson; +Cc: dev, nd

On 2023/04/20 16:20, Ruifeng Wang wrote:
>> -----Original Message-----
>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
>> Sent: Friday, April 14, 2023 8:42 PM
>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson <bruce.richardson@intel.com>
>> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
>> Subject: [PATCH 2/2] config/arm: Enable NUMA for generic Arm build
>>
>> We enable NUMA even if the presence of NUMA is unknown for the other architectures. Enable
>> NUMA for generic Arm build too.
>>
>> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
>> ---
>>   config/arm/meson.build | 6 ++++--
>>   1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/config/arm/meson.build b/config/arm/meson.build index 724c00ad7e..f8ee7cdafb
>> 100644
>> --- a/config/arm/meson.build
>> +++ b/config/arm/meson.build
>> @@ -271,13 +271,15 @@ implementers = {
>>   soc_generic = {
>>       'description': 'Generic un-optimized build for armv8 aarch64 exec mode',
>>       'implementer': 'generic',
>> -    'part_number': 'generic'
>> +    'part_number': 'generic',
>> +    'numa': true
> 
> The default value of numa is true. So no need to add it here?
> 
> if not soc_config.get('numa', true)
>      has_libnuma = 0
> endif

You're right. I confirmed this change is unnecessary. Please ignore this 
patch and consider merging only the first patch of this series.

> 
>>   }
>>
>>   soc_generic_aarch32 = {
>>       'description': 'Generic un-optimized build for armv8 aarch32 exec mode',
>>       'implementer': 'generic',
>> -    'part_number': 'generic_aarch32'
>> +    'part_number': 'generic_aarch32',
>> +    'numa': true
>>   }
>>
>>   soc_armada = {
>> --
>> 2.40.0
> 

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

* Re: [PATCH 1/2] config/arm: Do not require processor information
  2023-04-20  7:12         ` Akihiko Odaki
@ 2023-05-04  7:47           ` Akihiko Odaki
  2023-05-04  9:43             ` Ruifeng Wang
  0 siblings, 1 reply; 13+ messages in thread
From: Akihiko Odaki @ 2023-05-04  7:47 UTC (permalink / raw)
  To: Ruifeng Wang, Bruce Richardson, Juraj Linkeš; +Cc: dev, nd

On 2023/04/20 16:12, Akihiko Odaki wrote:
> On 2023/04/20 16:10, Ruifeng Wang wrote:
>>> -----Original Message-----
>>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
>>> Sent: Thursday, April 20, 2023 9:40 AM
>>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson 
>>> <bruce.richardson@intel.com>;
>>> Juraj Linkeš <juraj.linkes@pantheon.tech>
>>> Cc: dev@dpdk.org; nd <nd@arm.com>
>>> Subject: Re: [PATCH 1/2] config/arm: Do not require processor 
>>> information
>>>
>>> On 2023/04/17 16:41, Ruifeng Wang wrote:
>>>>> -----Original Message-----
>>>>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
>>>>> Sent: Friday, April 14, 2023 8:42 PM
>>>>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
>>>>> <bruce.richardson@intel.com>
>>>>> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
>>>>> Subject: [PATCH 1/2] config/arm: Do not require processor information
>>>>>
>>>>> DPDK can be built even without exact processor information for x86
>>>>> and ppc so allow to build for Arm even if we don't know the 
>>>>> targeted processor is
>>> unknown.
>>>>
>>>> Hi Akihiko,
>>>>
>>>> The design idea was to require an explicit generic build.
>>>> Default/native build doesn't fall back to generic build when SoC 
>>>> info is not on the list.
>>>> So the user has less chance to generate a suboptimal binary by 
>>>> accident.
>>>
>>> Hi,
>>>
>>> It is true that the suboptimal binary can result, but the rationale 
>>> here is that we
>>> tolerate that for x86 and ppc so it should not really matter for Arm 
>>> too. On x86 and ppc
>>> you don't need to modify meson.build just to run dts on a development 
>>> machine.
>>
>> What modification do you need for a development machine?
>> I suppose "meson setup build -Dplatform=generic" will generate a 
>> binary that can run
>> on your development machine.
> 
> I didn't describe the situation well. I use DPDK Test Suite for testing 
> and it determines what flags to be passed to Meson. You need to modify 
> DPDK's meson.build or DTS to get it built.
> 
>>
>>>
>>> Regards,
>>> Akihiko Odaki

Hi,

Can you have a look at this again?

Regards,
Akihiko Odaki

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

* RE: [PATCH 1/2] config/arm: Do not require processor information
  2023-05-04  7:47           ` Akihiko Odaki
@ 2023-05-04  9:43             ` Ruifeng Wang
  2023-05-04 15:08               ` Akihiko Odaki
  0 siblings, 1 reply; 13+ messages in thread
From: Ruifeng Wang @ 2023-05-04  9:43 UTC (permalink / raw)
  To: Akihiko Odaki, Bruce Richardson, Juraj Linkeš
  Cc: dev, nd, Honnappa Nagarahalli, nd

> -----Original Message-----
> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> Sent: Thursday, May 4, 2023 3:47 PM
> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson <bruce.richardson@intel.com>;
> Juraj Linkeš <juraj.linkes@pantheon.tech>
> Cc: dev@dpdk.org; nd <nd@arm.com>
> Subject: Re: [PATCH 1/2] config/arm: Do not require processor information
> 
> On 2023/04/20 16:12, Akihiko Odaki wrote:
> > On 2023/04/20 16:10, Ruifeng Wang wrote:
> >>> -----Original Message-----
> >>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> >>> Sent: Thursday, April 20, 2023 9:40 AM
> >>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
> >>> <bruce.richardson@intel.com>; Juraj Linkeš
> >>> <juraj.linkes@pantheon.tech>
> >>> Cc: dev@dpdk.org; nd <nd@arm.com>
> >>> Subject: Re: [PATCH 1/2] config/arm: Do not require processor
> >>> information
> >>>
> >>> On 2023/04/17 16:41, Ruifeng Wang wrote:
> >>>>> -----Original Message-----
> >>>>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> >>>>> Sent: Friday, April 14, 2023 8:42 PM
> >>>>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
> >>>>> <bruce.richardson@intel.com>
> >>>>> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
> >>>>> Subject: [PATCH 1/2] config/arm: Do not require processor
> >>>>> information
> >>>>>
> >>>>> DPDK can be built even without exact processor information for x86
> >>>>> and ppc so allow to build for Arm even if we don't know the
> >>>>> targeted processor is
> >>> unknown.
> >>>>
> >>>> Hi Akihiko,
> >>>>
> >>>> The design idea was to require an explicit generic build.
> >>>> Default/native build doesn't fall back to generic build when SoC
> >>>> info is not on the list.
> >>>> So the user has less chance to generate a suboptimal binary by
> >>>> accident.
> >>>
> >>> Hi,
> >>>
> >>> It is true that the suboptimal binary can result, but the rationale
> >>> here is that we tolerate that for x86 and ppc so it should not
> >>> really matter for Arm too. On x86 and ppc you don't need to modify
> >>> meson.build just to run dts on a development machine.
> >>
> >> What modification do you need for a development machine?
> >> I suppose "meson setup build -Dplatform=generic" will generate a
> >> binary that can run on your development machine.
> >
> > I didn't describe the situation well. I use DPDK Test Suite for
> > testing and it determines what flags to be passed to Meson. You need
> > to modify DPDK's meson.build or DTS to get it built.
> >
> >>
> >>>
> >>> Regards,
> >>> Akihiko Odaki
> 
> Hi,
> 
> Can you have a look at this again?

Thanks for the clarification of your use case.
Changes to DTS are in planning. It will allow the user to choose
the type of the build.
Your use case will be fulfilled then.

Regards,
Ruifeng
> 
> Regards,
> Akihiko Odaki

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

* Re: [PATCH 1/2] config/arm: Do not require processor information
  2023-05-04  9:43             ` Ruifeng Wang
@ 2023-05-04 15:08               ` Akihiko Odaki
  2023-05-29  7:37                 ` Juraj Linkeš
  0 siblings, 1 reply; 13+ messages in thread
From: Akihiko Odaki @ 2023-05-04 15:08 UTC (permalink / raw)
  To: Ruifeng Wang, Bruce Richardson, Juraj Linkeš
  Cc: dev, nd, Honnappa Nagarahalli

On 2023/05/04 18:43, Ruifeng Wang wrote:
>> -----Original Message-----
>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
>> Sent: Thursday, May 4, 2023 3:47 PM
>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson <bruce.richardson@intel.com>;
>> Juraj Linkeš <juraj.linkes@pantheon.tech>
>> Cc: dev@dpdk.org; nd <nd@arm.com>
>> Subject: Re: [PATCH 1/2] config/arm: Do not require processor information
>>
>> On 2023/04/20 16:12, Akihiko Odaki wrote:
>>> On 2023/04/20 16:10, Ruifeng Wang wrote:
>>>>> -----Original Message-----
>>>>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
>>>>> Sent: Thursday, April 20, 2023 9:40 AM
>>>>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
>>>>> <bruce.richardson@intel.com>; Juraj Linkeš
>>>>> <juraj.linkes@pantheon.tech>
>>>>> Cc: dev@dpdk.org; nd <nd@arm.com>
>>>>> Subject: Re: [PATCH 1/2] config/arm: Do not require processor
>>>>> information
>>>>>
>>>>> On 2023/04/17 16:41, Ruifeng Wang wrote:
>>>>>>> -----Original Message-----
>>>>>>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
>>>>>>> Sent: Friday, April 14, 2023 8:42 PM
>>>>>>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
>>>>>>> <bruce.richardson@intel.com>
>>>>>>> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
>>>>>>> Subject: [PATCH 1/2] config/arm: Do not require processor
>>>>>>> information
>>>>>>>
>>>>>>> DPDK can be built even without exact processor information for x86
>>>>>>> and ppc so allow to build for Arm even if we don't know the
>>>>>>> targeted processor is
>>>>> unknown.
>>>>>>
>>>>>> Hi Akihiko,
>>>>>>
>>>>>> The design idea was to require an explicit generic build.
>>>>>> Default/native build doesn't fall back to generic build when SoC
>>>>>> info is not on the list.
>>>>>> So the user has less chance to generate a suboptimal binary by
>>>>>> accident.
>>>>>
>>>>> Hi,
>>>>>
>>>>> It is true that the suboptimal binary can result, but the rationale
>>>>> here is that we tolerate that for x86 and ppc so it should not
>>>>> really matter for Arm too. On x86 and ppc you don't need to modify
>>>>> meson.build just to run dts on a development machine.
>>>>
>>>> What modification do you need for a development machine?
>>>> I suppose "meson setup build -Dplatform=generic" will generate a
>>>> binary that can run on your development machine.
>>>
>>> I didn't describe the situation well. I use DPDK Test Suite for
>>> testing and it determines what flags to be passed to Meson. You need
>>> to modify DPDK's meson.build or DTS to get it built.
>>>
>>>>
>>>>>
>>>>> Regards,
>>>>> Akihiko Odaki
>>
>> Hi,
>>
>> Can you have a look at this again?
> 
> Thanks for the clarification of your use case.
> Changes to DTS are in planning. It will allow the user to choose
> the type of the build.
> Your use case will be fulfilled then.

Such a feature indeed satisfies my requirement. Thanks in advance,
Akihiko Odaki

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

* Re: [PATCH 1/2] config/arm: Do not require processor information
  2023-05-04 15:08               ` Akihiko Odaki
@ 2023-05-29  7:37                 ` Juraj Linkeš
  0 siblings, 0 replies; 13+ messages in thread
From: Juraj Linkeš @ 2023-05-29  7:37 UTC (permalink / raw)
  To: Akihiko Odaki, Tu, Lijuan
  Cc: Ruifeng Wang, Bruce Richardson, dev, nd, Honnappa Nagarahalli

[-- Attachment #1: Type: text/plain, Size: 3982 bytes --]

+ Lijuan

Hi Lijuan, Akihiko wonders whether it's possible to add the ability to do a
generic build in DTS. If I understand correctly, we don't pass -Dplatform
to meson build which results in native build which in turn is not supported
on all arm microarchitectures, resulting in failing builds. Adding the
ability to specify the value of -Dplatform would address this issue.

On Thu, May 4, 2023 at 5:08 PM Akihiko Odaki <akihiko.odaki@daynix.com>
wrote:

> On 2023/05/04 18:43, Ruifeng Wang wrote:
> >> -----Original Message-----
> >> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> >> Sent: Thursday, May 4, 2023 3:47 PM
> >> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson <
> bruce.richardson@intel.com>;
> >> Juraj Linkeš <juraj.linkes@pantheon.tech>
> >> Cc: dev@dpdk.org; nd <nd@arm.com>
> >> Subject: Re: [PATCH 1/2] config/arm: Do not require processor
> information
> >>
> >> On 2023/04/20 16:12, Akihiko Odaki wrote:
> >>> On 2023/04/20 16:10, Ruifeng Wang wrote:
> >>>>> -----Original Message-----
> >>>>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> >>>>> Sent: Thursday, April 20, 2023 9:40 AM
> >>>>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
> >>>>> <bruce.richardson@intel.com>; Juraj Linkeš
> >>>>> <juraj.linkes@pantheon.tech>
> >>>>> Cc: dev@dpdk.org; nd <nd@arm.com>
> >>>>> Subject: Re: [PATCH 1/2] config/arm: Do not require processor
> >>>>> information
> >>>>>
> >>>>> On 2023/04/17 16:41, Ruifeng Wang wrote:
> >>>>>>> -----Original Message-----
> >>>>>>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> >>>>>>> Sent: Friday, April 14, 2023 8:42 PM
> >>>>>>> To: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
> >>>>>>> <bruce.richardson@intel.com>
> >>>>>>> Cc: dev@dpdk.org; Akihiko Odaki <akihiko.odaki@daynix.com>
> >>>>>>> Subject: [PATCH 1/2] config/arm: Do not require processor
> >>>>>>> information
> >>>>>>>
> >>>>>>> DPDK can be built even without exact processor information for x86
> >>>>>>> and ppc so allow to build for Arm even if we don't know the
> >>>>>>> targeted processor is
> >>>>> unknown.
> >>>>>>
> >>>>>> Hi Akihiko,
> >>>>>>
> >>>>>> The design idea was to require an explicit generic build.
> >>>>>> Default/native build doesn't fall back to generic build when SoC
> >>>>>> info is not on the list.
> >>>>>> So the user has less chance to generate a suboptimal binary by
> >>>>>> accident.
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> It is true that the suboptimal binary can result, but the rationale
> >>>>> here is that we tolerate that for x86 and ppc so it should not
> >>>>> really matter for Arm too. On x86 and ppc you don't need to modify
> >>>>> meson.build just to run dts on a development machine.
> >>>>
> >>>> What modification do you need for a development machine?
> >>>> I suppose "meson setup build -Dplatform=generic" will generate a
> >>>> binary that can run on your development machine.
> >>>
> >>> I didn't describe the situation well. I use DPDK Test Suite for
> >>> testing and it determines what flags to be passed to Meson. You need
> >>> to modify DPDK's meson.build or DTS to get it built.
> >>>
> >>>>
> >>>>>
> >>>>> Regards,
> >>>>> Akihiko Odaki
> >>
> >> Hi,
> >>
> >> Can you have a look at this again?
> >
> > Thanks for the clarification of your use case.
> > Changes to DTS are in planning. It will allow the user to choose
> > the type of the build.
> > Your use case will be fulfilled then.
>
> Such a feature indeed satisfies my requirement. Thanks in advance,
> Akihiko Odaki
>

Hello Akihiko,

Sorry for the long delay in responding. I'm involved (I'm part of
Ruifeng's team) in refactoring/rewriting DTS which is where the support you
need is planned to be implemented, but that'll take a long time (this is
what Ruifeng meant). I've added Lijuan who may add the feature to the
original DTS. You can also add the feature yourself.

Regards,
Juraj

[-- Attachment #2: Type: text/html, Size: 6491 bytes --]

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

end of thread, other threads:[~2023-05-29  7:37 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-14 12:41 [PATCH 0/2] Enable generic Arm build Akihiko Odaki
2023-04-14 12:41 ` [PATCH 1/2] config/arm: Do not require processor information Akihiko Odaki
2023-04-17  7:41   ` Ruifeng Wang
2023-04-20  1:40     ` Akihiko Odaki
2023-04-20  7:10       ` Ruifeng Wang
2023-04-20  7:12         ` Akihiko Odaki
2023-05-04  7:47           ` Akihiko Odaki
2023-05-04  9:43             ` Ruifeng Wang
2023-05-04 15:08               ` Akihiko Odaki
2023-05-29  7:37                 ` Juraj Linkeš
2023-04-14 12:41 ` [PATCH 2/2] config/arm: Enable NUMA for generic Arm build Akihiko Odaki
2023-04-20  7:20   ` Ruifeng Wang
2023-04-22  5:26     ` Akihiko Odaki

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).