09/03/2023 12:23, fengchengwen:
> On 2023/3/9 15:29, Thomas Monjalon wrote:
> > 09/03/2023 02:43, fengchengwen:
> >> On 2023/3/7 0:13, Thomas Monjalon wrote:
> >>> --- a/doc/guides/rel_notes/release_22_11.rst
> >>> +++ b/doc/guides/rel_notes/release_22_11.rst
> >>> @@ -504,7 +504,7 @@ ABI Changes
> >>>    ``rte-worker-<lcore_id>`` so that DPDK can accommodate lcores higher 
> >>> than 99.
> >>>  
> >>>  * mbuf: Replaced ``buf_iova`` field with ``next`` field and added a new 
> >>> field
> >>> -  ``dynfield2`` at its place in second cacheline if ``RTE_IOVA_AS_PA`` 
> >>> is 0.
> >>> +  ``dynfield2`` at its place in second cacheline if ``RTE_IOVA_IN_MBUF`` 
> >>> is 0.
> >>
> >> Should add to release 23.03 rst.
> > 
> > Yes we could add a note in API changes.
> > 
> >> The original 22.11 still have RTE_IOVA_AS_PA definition.
> > 
> > Yes it was not a good idea to rename in the release notes.
> > 
> >>> -if dpdk_conf.get('RTE_IOVA_AS_PA') == 0
> >>> -    build = false
> >>> -    reason = 'driver does not support disabling IOVA as PA mode'
> >>> +if not get_option('enable_iova_as_pa')
> >>>      subdir_done()
> >>>  endif
> >>
> >> Suggest keep original, and replace RTE_IOVA_AS_PA with RTE_IOVA_IN_MBUF:
> >> if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0
> >>      subdir_done()
> >> endif
> > 
> > Why testing the C macro in Meson?
> > It looks simpler to check the Meson option in Meson.
> 
> The macro was create in meson.build: 
> config/meson.build:319:dpdk_conf.set10('RTE_IOVA_AS_PA', 
> get_option('enable_iova_as_pa'))
> It can be regarded as alias of enable_iova_as_pa.

It is not strictly an alias, because it can be overriden via CFLAGS.

> This commit was mainly used to improve comprehensibility. so we should limit 
> the 'enable_iova_as_pa' usage scope.
> and the 'if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0' is more comprehensibility 
> than 'if not get_option('enable_iova_as_pa')'

To me, using Meson option in Meson files is more obvious.

Bruce, what do you think?

> >> Meson build 0.63.0 already support deprecated a option by a new option.
> >> When update to the new meson verion, the drivers' meson.build will not be 
> >> modified.
> > 
> > I don't understand this comment.
> 
> I mean: the option "enable_iova_as_pa" need deprecated future.

Why deprecating this option?

> Based on this, I think we should limit 'enable_iova_as_pa' usage scope, this 
> allows us to
> reduce the amount of change effort when it's about to deprecated.

I don't plan to deprecate this option.
And in general, we should avoid deprecating a compilation option.


Reply via email to