[dpdk-dev] [PATCH 00/10] Infrastructure to detect iova mapping on the bus
Maxime Coquelin
maxime.coquelin at redhat.com
Wed Jul 5 11:30:37 CEST 2017
On 06/08/2017 01:05 PM, Santosh Shukla wrote:
> Q) Why do we need such infrastructure?
>
> A) Some NPU hardware like OCTEONTX follows push model to get the packet
> from the pktio device. Where packet allocation and freeing done
> by the HW. Since HW can operate only on IOVA with help of SMMU/IOMMU,
> when packet receives from the Ethernet device, it is the IOVA address
> (which is PA in existing scheme).
>
> Mapping IOVA as PA is expensive on those HW, where every packet
> needs to be converted to VA from PA/IOVA.
>
> This patchset proposes the method to autodetect the preferred
> IOVA mode for a device. Summary of IOVA scheme:
> - If all the devices are iommu capable and support IOMMU
> capable driver then selects IOVA_VA.
> - If any of the devices are non-iommu then use default IOVA
> scheme ie. IOVA_PA.
> - If no device found then IOVA scheme would be
> IOVA_DC (Don't care).
Isn't it possible to have a per-device granularity?
For example, with virt case, having a physical NIC using VFIO with
iommu, and virtio devices with noiommu.
If the physical NIC prefers working with VAs, why forcing it to use
PAs? Maybe I missed a limitation though.
Cheers,
Maxime
More information about the dev
mailing list