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