On Mon, Feb 20, 2023 at 04:30:20PM +0100, Thomas Monjalon wrote: > 20/02/2023 16:07, Morten Brørup: > > With the new viewing angle, the current define RTE_IOVA_AS_PA makes more > > sense to me now than before. So we should probably stick with it, rather > > than introduce something that might confuse developers who already have the > > same viewing angle. > > > > But it still seems counterintuitive to me that disabling some feature > > ("enable_iova_as_pa") is not supported throughout DPDK; the logic seems > > inverted. Apparently, it also makes it difficult to assign good titles to > > patches that support disabling such a feature. :-) > > > > <irony> > > On the positive side, since everything supports this "enable_iova_as_pa" > > feature, we don't need to add it to the PMD feature list. If the logic > > wasn't inverted like this, the PMD feature list should probably reflect > > which PMDs supported the "iova_as_va_only" compile time option. ;-) > > </irony> > > That's a change I would like to do: > The Meson variable in the drivers should be "support_iova_as_va" > and would mean we can compile the driver when "enable_iova_as_pa" is false. > All drivers (that I am aware of) support iova_as_va. What is missing is drivers supporting "iova_as_va_only". Any reference to va without the word "only" on it will be misleading.
A third way of looking at it, is to work with the fact that the reason drivers require changes to support this "va_only" mode, ro no-pa mode, is due to the fact that the mbuf no longer tracks iovas and only VAs. Therefore, we can have a variable called "require_iova_in_mbuf", which would hopefully cut through this whole va vs pa addition/subtraction mess. What do you think? /Bruce