[dpdk-dev] [PATCH v2] bus/pci: forbid VA as IOVA mode if IOMMU address width too small

Maxime Coquelin maxime.coquelin at redhat.com
Thu Jan 11 21:19:38 CET 2018


Hi Jianfeng,

On 01/09/2018 02:18 PM, Maxime Coquelin wrote:
> Intel VT-d supports different address widths for the IOVAs, from
> 39 bits to 56 bits.
> 
> While recent processors support at least 48 bits, VT-d emulation
> currently only supports 39 bits. It makes DMA mapping to fail in this
> case when using VA as IOVA mode, as user-space virtual addresses uses
> up to 47 bits (see kernel's Documentation/x86/x86_64/mm.txt).
> 
> This patch parses VT-d CAP register value available in sysfs, and
> forbid VA as IOVA mode if the GAW is 39 bits or unknown.
> 
> Fixes: f37dfab21c98 ("drivers/net: enable IOVA mode for Intel PMDs")
> 
> Cc: stable at dpdk.org
> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> ---
> 
> Changes in v2:
> ==============
> - Rework pci_one_device_iommu_support_va #ifdefery (Stephen)
> - Don't inline introduced functions (Stephen)
> 
>   drivers/bus/pci/linux/pci.c | 108 ++++++++++++++++++++++++++++++++++++++++----
>   1 file changed, 99 insertions(+), 9 deletions(-)
> 

Could you please try the patch and confirm it does not break your
--no-huge usecase?

Are you fine with the fix?

Thanks,
Maxime


More information about the dev mailing list