* [PATCH] config/arm: enable rcpc feature on neoverse n1
@ 2023-03-20 3:26 Joyce Kong
2023-03-20 16:10 ` Thomas Monjalon
2023-03-21 9:44 ` [PATCH v2] config/arm: support ldapr " Joyce Kong
0 siblings, 2 replies; 5+ messages in thread
From: Joyce Kong @ 2023-03-20 3:26 UTC (permalink / raw)
To: Ruifeng Wang, Bruce Richardson; +Cc: dev, nd, Joyce Kong
Enable rcpc meson configuration for Neoverse N1 platform.
Signed-off-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
config/arm/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 5ff66248de..5213434ca4 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -65,7 +65,7 @@ part_number_config_arm = {
'0xd0b': {'compiler_options': ['-mcpu=cortex-a76']},
'0xd0c': {
'march': 'armv8.2-a',
- 'march_features': ['crypto'],
+ 'march_features': ['crypto', 'rcpc'],
'compiler_options': ['-mcpu=neoverse-n1'],
'flags': [
['RTE_MACHINE', '"neoverse-n1"'],
--
2.25.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] config/arm: enable rcpc feature on neoverse n1
2023-03-20 3:26 [PATCH] config/arm: enable rcpc feature on neoverse n1 Joyce Kong
@ 2023-03-20 16:10 ` Thomas Monjalon
2023-03-21 2:13 ` Joyce Kong
2023-03-21 9:44 ` [PATCH v2] config/arm: support ldapr " Joyce Kong
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Monjalon @ 2023-03-20 16:10 UTC (permalink / raw)
To: dev, Joyce Kong; +Cc: Ruifeng Wang, Bruce Richardson, nd
20/03/2023 04:26, Joyce Kong:
> Enable rcpc meson configuration for Neoverse N1 platform.
Please could you explain what it is in the commit message?
> - 'march_features': ['crypto'],
> + 'march_features': ['crypto', 'rcpc'],
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH] config/arm: enable rcpc feature on neoverse n1
2023-03-20 16:10 ` Thomas Monjalon
@ 2023-03-21 2:13 ` Joyce Kong
0 siblings, 0 replies; 5+ messages in thread
From: Joyce Kong @ 2023-03-21 2:13 UTC (permalink / raw)
To: thomas, dev; +Cc: Ruifeng Wang, Bruce Richardson, nd
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Tuesday, March 21, 2023 12:10 AM
> To: dev@dpdk.org; Joyce Kong <Joyce.Kong@arm.com>
> Cc: Ruifeng Wang <Ruifeng.Wang@arm.com>; Bruce Richardson
> <bruce.richardson@intel.com>; nd <nd@arm.com>
> Subject: Re: [PATCH] config/arm: enable rcpc feature on neoverse n1
>
> 20/03/2023 04:26, Joyce Kong:
> > Enable rcpc meson configuration for Neoverse N1 platform.
>
> Please could you explain what it is in the commit message?
>
Sure, I shall send out another version with the explanation.
> > - 'march_features': ['crypto'],
> > + 'march_features': ['crypto', 'rcpc'],
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2] config/arm: support ldapr on neoverse n1
2023-03-20 3:26 [PATCH] config/arm: enable rcpc feature on neoverse n1 Joyce Kong
2023-03-20 16:10 ` Thomas Monjalon
@ 2023-03-21 9:44 ` Joyce Kong
2023-03-21 11:16 ` Thomas Monjalon
1 sibling, 1 reply; 5+ messages in thread
From: Joyce Kong @ 2023-03-21 9:44 UTC (permalink / raw)
To: thomas, Ruifeng Wang, Bruce Richardson; +Cc: dev, nd, Joyce Kong
Armv8.3 introduced a LDAPR instruction that has weaker guarantees,
just sufficient to implement memory_order_acq_rel. LDAPR does not
wait for previous STLR to complete. And if the same location is
used in both, it does not force the write to be globally observed.
The new instruction can avoid some costs associated with LDAR.
GCC13.0 has supported LDAPR.
For Armv8.3 and higher, LDAPR is default.
For Armv8.2 such as neoverse n1, LDAPR is supported with enabling
rcpc feature.
For Armv8.1 and lower, LDAPR is not supported.
Signed-off-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
config/arm/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 5ff66248de..5213434ca4 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -65,7 +65,7 @@ part_number_config_arm = {
'0xd0b': {'compiler_options': ['-mcpu=cortex-a76']},
'0xd0c': {
'march': 'armv8.2-a',
- 'march_features': ['crypto'],
+ 'march_features': ['crypto', 'rcpc'],
'compiler_options': ['-mcpu=neoverse-n1'],
'flags': [
['RTE_MACHINE', '"neoverse-n1"'],
--
2.25.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] config/arm: support ldapr on neoverse n1
2023-03-21 9:44 ` [PATCH v2] config/arm: support ldapr " Joyce Kong
@ 2023-03-21 11:16 ` Thomas Monjalon
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Monjalon @ 2023-03-21 11:16 UTC (permalink / raw)
To: Joyce Kong; +Cc: Ruifeng Wang, Bruce Richardson, dev, nd
21/03/2023 10:44, Joyce Kong:
> Armv8.3 introduced a LDAPR instruction that has weaker guarantees,
> just sufficient to implement memory_order_acq_rel. LDAPR does not
> wait for previous STLR to complete. And if the same location is
> used in both, it does not force the write to be globally observed.
> The new instruction can avoid some costs associated with LDAR.
>
> GCC13.0 has supported LDAPR.
> For Armv8.3 and higher, LDAPR is default.
> For Armv8.2 such as neoverse n1, LDAPR is supported with enabling
> rcpc feature.
> For Armv8.1 and lower, LDAPR is not supported.
>
> Signed-off-by: Joyce Kong <joyce.kong@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Applied, thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-03-21 11:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-20 3:26 [PATCH] config/arm: enable rcpc feature on neoverse n1 Joyce Kong
2023-03-20 16:10 ` Thomas Monjalon
2023-03-21 2:13 ` Joyce Kong
2023-03-21 9:44 ` [PATCH v2] config/arm: support ldapr " Joyce Kong
2023-03-21 11:16 ` 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).