On 14-Nov-19 9:50 AM, Venumadhav Josyula wrote:
Hi Anatoly,
Thanks for quick response. We want to understand, if there will be
performance implications because of iova-mode being va. We want to
understand, specifically in terms following
* cache misses
* Branch misses etc
* translation of va addr -> phy addr when packet is receieved
There will be no impact whatsoever. You mentioned that you were already
using VFIO, so you were already making use of IOMMU*. Cache/branch
misses are independent of IOVA layout, and translations are done by the
hardware (in either IOVA as PA or IOVA as VA case - IOMMU doesn't care
what you program it with, it still does the translation, even if it's a
1:1 IOVA-to-PA mapping), so there is nothing that can cause degradation.
In fact, under some circumstances, using IOVA as VA mode can be used to
get performance /gains/, because the code can take advantage of the fact
that there are large IOVA-contiguous segments and no page-by-page
allocations. Some drivers (IIRC octeontx mempool?) even refuse to work
in IOVA as PA mode due to huge overheads of page-by-page buffer offset
tracking.
TL;DR you'll be fine :)
* Using an IOMMU can /theoretically/ affect performance due to hardware
IOVA->PA translation and IOTLB cache misses. In practice, i have never
been able to observe /any/ effect whatsoever on performance when using
IOMMU vs. without using IOMMU, so this appears to not be a concern /in
practice/.
Thanks and regards
Venu
On Thu, 14 Nov 2019 at 15:14, Burakov, Anatoly
<anatoly.bura...@intel.com <mailto:anatoly.bura...@intel.com>> wrote:
On 13-Nov-19 9:01 PM, Venumadhav Josyula wrote:
> Hi Anatoly,
>
> By default w/o specifying --iova-mode option is iova-mode=pa by
default ?
>
> Thanks
> Venu
>
In 18.11, there is a very specific set of circumstances that will
default to IOVA as VA mode. Future releases have become more
aggressive,
to the point of IOVA as VA mode being the default unless asked
otherwise. So yes, it is highly likely that in your case, IOVA as PA is
picked as the default.
--
Thanks,
Anatoly
--
Thanks,
Anatoly