lkml.org 
[lkml]   [2017]   [Dec]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[RFC PATCH v2 0/2] Reduce IOTLB flush when pass-through dGPU devices
Date
From: Suravee Suthikulpanit <ssuthiku@redhat.com>

Currently, when pass-through dGPU to a guest VM, there are thousands
of IOTLB flush commands sent from IOMMU to end-point-device. This cause
performance issue when launching new VMs, and could cause IOTLB invalidate
time-out issue on certain dGPUs.

This can be avoided by adopting the new fast IOTLB flush APIs.

Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Joerg Roedel <jroedel@suse.de>

Changes from V1: (https://lkml.org/lkml/2017/11/17/764)

* Rebased on top of v4.15-rc5

* Patch 1/2: Fix iommu_tlb_range_add() size parameter to use unmapped
instead of len. (per Alex)

* Patch 1/2: Use a list to keep track unmapped IOVAs for VFIO remote
unpinning. Although, I am still not sure if using a list is the best
way to keep track the IOVAs. (per Alex)

* Patch 2/2: Fix logic due to missing spin unlock. (per Tom)

Suravee Suthikulpanit (2):
vfio/type1: Adopt fast IOTLB flush interface when unmap IOVAs
iommu/amd: Add support for fast IOTLB flushing

drivers/iommu/amd_iommu.c | 73 ++++++++++++++++++++++++++++++++-
drivers/iommu/amd_iommu_init.c | 7 ++++
drivers/iommu/amd_iommu_types.h | 7 ++++
drivers/vfio/vfio_iommu_type1.c | 89 +++++++++++++++++++++++++++++++++++------
4 files changed, 163 insertions(+), 13 deletions(-)

--
1.8.3.1

\
 
 \ /
  Last update: 2017-12-27 10:21    [W:0.107 / U:24.292 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site