> Indeed. Intel iommu has least effect on RX because of premap/recycle. > But TX dma map and unmap is really expensive! > >> >> Basically the IOMMU can make creating/destroying a DMA mapping really >> expensive. The easiest way to work around it in the case of the Intel >> IOMMU is to boot with "iommu=pt" which will create an identity mapping >> for the host. The downside is though that you then have the entire >> system accessible to the device unless a new mapping is created for it >> by assigning it to a new IOMMU domain. > > > Yeah thats what I would say, If you really want to use intel iommu and > don't want to hit by performance , use 'iommu=pt'. > > Good to have confirmation from you Alex. Thanks. >
Thanks for the suggestion! Update my performance number: without iommu=pt (posted before) Benchmark XDP_SKB rxdrop 2.3 Mpps txpush 1.05 Mpps l2fwd 0.90 Mpps with iommu=pt (new) Benchmark XDP_SKB rxdrop 2.24 Mpps txpush 1.54 Mpps l2fwd 1.23 Mpps TX indeed shows better rate, while RX remains. William