diff options
author | Lu Baolu <baolu.lu@linux.intel.com> | 2022-07-12 08:09:05 +0800 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2022-07-15 10:21:41 +0200 |
commit | ba949f4cd4c39c587e9b722ac7eb7f7e8a42dace (patch) | |
tree | 96b7897e53c3057ae03fc0959a1d57689d4b4a66 /drivers/iommu/intel/svm.c | |
parent | 913432f217c843a69ff9d11a6474a7982033087b (diff) | |
download | lwn-ba949f4cd4c39c587e9b722ac7eb7f7e8a42dace.tar.gz lwn-ba949f4cd4c39c587e9b722ac7eb7f7e8a42dace.zip |
iommu/vt-d: Refactor iommu information of each domain
When a DMA domain is attached to a device, it needs to allocate a domain
ID from its IOMMU. Currently, the domain ID information is stored in two
static arrays embedded in the domain structure. This can lead to memory
waste when the driver is running on a small platform.
This optimizes these static arrays by replacing them with an xarray and
consuming memory on demand.
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Steve Wahl <steve.wahl@hpe.com>
Link: https://lore.kernel.org/r/20220702015610.2849494-4-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/intel/svm.c')
-rw-r--r-- | drivers/iommu/intel/svm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/intel/svm.c b/drivers/iommu/intel/svm.c index 64072e628bbd..8bcfb93dda56 100644 --- a/drivers/iommu/intel/svm.c +++ b/drivers/iommu/intel/svm.c @@ -541,7 +541,7 @@ static void intel_svm_drain_prq(struct device *dev, u32 pasid) domain = info->domain; pdev = to_pci_dev(dev); sid = PCI_DEVID(info->bus, info->devfn); - did = domain->iommu_did[iommu->seq_id]; + did = domain_id_iommu(domain, iommu); qdep = pci_ats_queue_depth(pdev); /* |