* [PATCH] common/cnxk: allow enabling IOVA field in mbuf
@ 2024-10-14 11:06 Shijith Thotton
2024-10-24 11:10 ` Jerin Jacob
0 siblings, 1 reply; 3+ messages in thread
From: Shijith Thotton @ 2024-10-14 11:06 UTC (permalink / raw)
To: jerinj, pbhagavatula
Cc: dev, Shijith Thotton, Wathsala Vithanage, Bruce Richardson,
Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao,
Harman Kalra
Value of RTE_IOVA_IN_MBUF was always disabled on cnxk platforms, as IOVA
in the mbuf is not required. This change modifies that behavior,
allowing RTE_IOVA_IN_MBUF to be enabled if the build option
-Denable_iova_as_pa=true is explicitly specified.
Signed-off-by: Shijith Thotton <sthotton@marvell.com>
---
config/arm/meson.build | 8 ++------
drivers/common/cnxk/meson.build | 9 +++++++++
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 012935d5d7..ca54524376 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -439,10 +439,7 @@ soc_cn9k = {
'description': 'Marvell OCTEON 9',
'implementer': '0x43',
'part_number': '0xb2',
- 'numa': false,
- 'flags': [
- ['RTE_IOVA_IN_MBUF', 0]
- ]
+ 'numa': false
}
soc_cn10k = {
@@ -451,8 +448,7 @@ soc_cn10k = {
'flags': [
['RTE_MAX_LCORE', 24],
['RTE_MAX_NUMA_NODES', 1],
- ['RTE_MEMPOOL_ALIGN', 128],
- ['RTE_IOVA_IN_MBUF', 0]
+ ['RTE_MEMPOOL_ALIGN', 128]
],
'part_number': '0xd49',
'extra_march_features': ['crypto'],
diff --git a/drivers/common/cnxk/meson.build b/drivers/common/cnxk/meson.build
index dc2ddf1f20..bba780e750 100644
--- a/drivers/common/cnxk/meson.build
+++ b/drivers/common/cnxk/meson.build
@@ -108,4 +108,13 @@ deps += ['bus_pci', 'net', 'telemetry']
require_iova_in_mbuf = false
+cnxk_socs = ['cn9k', 'cn10k', 'cn20k']
+
+# Enable RTE_IOVA_IN_MBUF only if enable_iova_as_pa is set explicitly, else disable it
+if meson.version().version_compare('>=1.1.0')
+ if '-Denable_iova_as_pa' not in meson.build_options() and soc_type in cnxk_socs
+ dpdk_conf.set10('RTE_IOVA_IN_MBUF', false)
+ endif
+endif
+
annotate_locks = false
--
2.25.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] common/cnxk: allow enabling IOVA field in mbuf
2024-10-14 11:06 [PATCH] common/cnxk: allow enabling IOVA field in mbuf Shijith Thotton
@ 2024-10-24 11:10 ` Jerin Jacob
2024-10-24 12:09 ` Bruce Richardson
0 siblings, 1 reply; 3+ messages in thread
From: Jerin Jacob @ 2024-10-24 11:10 UTC (permalink / raw)
To: Shijith Thotton
Cc: jerinj, pbhagavatula, dev, Wathsala Vithanage, Bruce Richardson,
Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao,
Harman Kalra, Thomas Monjalon, David Marchand
On Mon, Oct 14, 2024 at 4:37 PM Shijith Thotton <sthotton@marvell.com> wrote:
>
> Value of RTE_IOVA_IN_MBUF was always disabled on cnxk platforms, as IOVA
> in the mbuf is not required. This change modifies that behavior,
> allowing RTE_IOVA_IN_MBUF to be enabled if the build option
> -Denable_iova_as_pa=true is explicitly specified.
>
> Signed-off-by: Shijith Thotton <sthotton@marvell.com>
> ---
>
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index 012935d5d7..ca54524376 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -439,10 +439,7 @@ soc_cn9k = {
> 'description': 'Marvell OCTEON 9',
> 'implementer': '0x43',
> 'part_number': '0xb2',
> - 'numa': false,
> - 'flags': [
> - ['RTE_IOVA_IN_MBUF', 0]
> - ]
> + 'numa': false
> }
>
> soc_cn10k = {
> @@ -451,8 +448,7 @@ soc_cn10k = {
> 'flags': [
> ['RTE_MAX_LCORE', 24],
> ['RTE_MAX_NUMA_NODES', 1],
> - ['RTE_MEMPOOL_ALIGN', 128],
> - ['RTE_IOVA_IN_MBUF', 0]
> + ['RTE_MEMPOOL_ALIGN', 128]
> ],
> 'part_number': '0xd49',
> 'extra_march_features': ['crypto'],
> diff --git a/drivers/common/cnxk/meson.build b/drivers/common/cnxk/meson.build
> index dc2ddf1f20..bba780e750 100644
> --- a/drivers/common/cnxk/meson.build
> +++ b/drivers/common/cnxk/meson.build
> @@ -108,4 +108,13 @@ deps += ['bus_pci', 'net', 'telemetry']
>
> require_iova_in_mbuf = false
>
> +cnxk_socs = ['cn9k', 'cn10k', 'cn20k']
> +
> +# Enable RTE_IOVA_IN_MBUF only if enable_iova_as_pa is set explicitly, else disable it
> +if meson.version().version_compare('>=1.1.0')
> + if '-Denable_iova_as_pa' not in meson.build_options() and soc_type in cnxk_socs
> + dpdk_conf.set10('RTE_IOVA_IN_MBUF', false)
> + endif
> +endif
Since this is added in driver/common/cnxk, it will be late to decide.
For example,
Following PMDs will have mis match:
common - cpt, dpaax, idpf, ionic
bus - cdx, dpaa, fslmc, ifpga, uacce
I think, this check needs to move up in the chain. @Richardson, Bruce
Any thoughts on cleanly adding this kind of check in top-level meson
objects?
> +
> annotate_locks = false
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] common/cnxk: allow enabling IOVA field in mbuf
2024-10-24 11:10 ` Jerin Jacob
@ 2024-10-24 12:09 ` Bruce Richardson
0 siblings, 0 replies; 3+ messages in thread
From: Bruce Richardson @ 2024-10-24 12:09 UTC (permalink / raw)
To: Jerin Jacob
Cc: Shijith Thotton, jerinj, pbhagavatula, dev, Wathsala Vithanage,
Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao,
Harman Kalra, Thomas Monjalon, David Marchand
On Thu, Oct 24, 2024 at 04:40:40PM +0530, Jerin Jacob wrote:
> On Mon, Oct 14, 2024 at 4:37 PM Shijith Thotton <sthotton@marvell.com> wrote:
> >
> > Value of RTE_IOVA_IN_MBUF was always disabled on cnxk platforms, as IOVA
> > in the mbuf is not required. This change modifies that behavior,
> > allowing RTE_IOVA_IN_MBUF to be enabled if the build option
> > -Denable_iova_as_pa=true is explicitly specified.
> >
> > Signed-off-by: Shijith Thotton <sthotton@marvell.com>
> > ---
> >
> > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > index 012935d5d7..ca54524376 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -439,10 +439,7 @@ soc_cn9k = {
> > 'description': 'Marvell OCTEON 9',
> > 'implementer': '0x43',
> > 'part_number': '0xb2',
> > - 'numa': false,
> > - 'flags': [
> > - ['RTE_IOVA_IN_MBUF', 0]
> > - ]
> > + 'numa': false
> > }
> >
> > soc_cn10k = {
> > @@ -451,8 +448,7 @@ soc_cn10k = {
> > 'flags': [
> > ['RTE_MAX_LCORE', 24],
> > ['RTE_MAX_NUMA_NODES', 1],
> > - ['RTE_MEMPOOL_ALIGN', 128],
> > - ['RTE_IOVA_IN_MBUF', 0]
> > + ['RTE_MEMPOOL_ALIGN', 128]
> > ],
> > 'part_number': '0xd49',
> > 'extra_march_features': ['crypto'],
> > diff --git a/drivers/common/cnxk/meson.build b/drivers/common/cnxk/meson.build
> > index dc2ddf1f20..bba780e750 100644
> > --- a/drivers/common/cnxk/meson.build
> > +++ b/drivers/common/cnxk/meson.build
> > @@ -108,4 +108,13 @@ deps += ['bus_pci', 'net', 'telemetry']
> >
> > require_iova_in_mbuf = false
> >
> > +cnxk_socs = ['cn9k', 'cn10k', 'cn20k']
> > +
> > +# Enable RTE_IOVA_IN_MBUF only if enable_iova_as_pa is set explicitly, else disable it
> > +if meson.version().version_compare('>=1.1.0')
> > + if '-Denable_iova_as_pa' not in meson.build_options() and soc_type in cnxk_socs
> > + dpdk_conf.set10('RTE_IOVA_IN_MBUF', false)
> > + endif
> > +endif
>
> Since this is added in driver/common/cnxk, it will be late to decide.
> For example,
>
> Following PMDs will have mis match:
> common - cpt, dpaax, idpf, ionic
> bus - cdx, dpaa, fslmc, ifpga, uacce
>
> I think, this check needs to move up in the chain. @Richardson, Bruce
> Any thoughts on cleanly adding this kind of check in top-level meson
> objects?
>
Can you explain what you mean by a mismatch?
Can I assume that the common/cnxk is processed before any of these other
drivers? If so, then whatever values or variables set by that meson.build
file can be queried by all the others.
/Bruce
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-10-24 12:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-14 11:06 [PATCH] common/cnxk: allow enabling IOVA field in mbuf Shijith Thotton
2024-10-24 11:10 ` Jerin Jacob
2024-10-24 12:09 ` Bruce Richardson
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).