[PATCH] net/hns3: support disable IOVA as PA mode

Thomas Monjalon thomas at monjalon.net
Mon Feb 20 11:16:40 CET 2023


20/02/2023 10:43, Morten Brørup:
> > From: Thomas Monjalon [mailto:thomas at monjalon.net]
> > Sent: Monday, 20 February 2023 08.45
> > 
> > 16/02/2023 09:36, Ruifeng Wang:
> > > From: Chengwen Feng <fengchengwen at huawei.com>
> > > > Subject: [PATCH] net/hns3: support disable IOVA as PA mode
> > 
> > Could we change the title to "support IOVA as VA" ?
> 
> The underlying problem is the meson configuration option name for this feature [1]:
> 
> option('enable_iova_as_pa', type: 'boolean', value: true, description:
>        'Support for IOVA as physical address. Disabling removes the buf_iova field of mbuf.')
> 
> [1]: https://elixir.bootlin.com/dpdk/v22.11.1/source/meson_options.txt#L43
> 
> Formally, the patch provides the ability to set a boolean configuration value ("enable_iova_as_pa") to false, and thus the patch title is correct.
> 
> Nonetheless, I agree that the title suggested by Thomas is an improvement.
> 
> 
> Going back to the root cause, I think the configuration option should be an enum instead of a boolean, e.g. "iova_mode" with values "iova_pa" and "iova_va".

We can enable both and have it decided at runtime. So I think the boolean is OK.

> It's somewhat similar to CPU endian macros. We have macros defining both Big Endian and Little Endian, not just one macro defining Big Endian or not.
> 
> @Bruce, would it be hard for you to change the IOVA configuration option from a boolean to a two-value enum?
> 
> Or - also considering the resulting #define's - would it be too difficult to keep a sufficient level of backwards/API compatibility?





More information about the dev mailing list