[dpdk-dev] [PATCH v2 0/3] Increase test compatibility with PA IOVA

Stanislaw Kardach kda at semihalf.com
Thu Jun 10 09:51:09 CEST 2021


On Fri, Jun 04, 2021 at 04:15:58PM +0200, Stanislaw Kardach wrote:
> Please let me know if I'm missing a bigger picture with the --no-huge
> and --no-shconf usage on non-FreeBSD platforms.
> 
After looking at this issue again I'm abandoning this patchset because
it seems wrong for 2 reasons:

1. --iova-mode=pa and --no-huge combination is still unsupported but
   detecting such situation is not straightforward in the
   eal_flags_no_huge_autotest. That is because it is not only a product
   of user input but IOMMU requirements (if any), bus requirements and
   PA map availability. If a PCI device is bound to UIO and no IOMMU is
   avilable, then bus requests PA mapping. However if there's no UIO
   device, PCI reports DC and therefore decision relies on PA map
   availability. If it's not available, VA will be chosen. This changes
   between the parent dpdk-test binary being run (available->PA) and the
   child processes being spawned by the test (not-available->VA).
   However rte_eal_iova_mode() only reports the final IOVA mode. Even if
   in the parent process it is PA, it doesn't mean it will be so in
   the child process. So test will be skipped when it shouldn't.
2. Because of the above, the same test can pass on a non-IOMMU platform
   if no PCI device is bound to UIO while it would fail if there is a
   PCI device bound to UIO. It seems that the silent assumption is that
   fast-tests should be run without any UIO devices (or basically with
   all buses requestin DC IOVA mode).

Sorry for any confusion with this patchset.

-- 
Best Regards,
Stanislaw Kardach


More information about the dev mailing list