diff options
author | Joerg Roedel <jroedel@suse.de> | 2015-07-21 10:41:21 +0200 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2015-08-12 16:23:33 +0200 |
commit | 8bf478163e69e42973c7070179a11815139e5bf0 (patch) | |
tree | ea64f7177aa39fc71a0847687e8dd3c34fdd6fa7 /include/linux/intel-iommu.h | |
parent | 9452d5bfe5c3df6befb89835d2c44920e03bd390 (diff) | |
download | linux-8bf478163e69e42973c7070179a11815139e5bf0.tar.gz linux-8bf478163e69e42973c7070179a11815139e5bf0.tar.bz2 linux-8bf478163e69e42973c7070179a11815139e5bf0.zip |
iommu/vt-d: Split up iommu->domains array
This array is indexed by the domain-id and contains the
pointers to the domains attached to this iommu. Modern
systems support 65536 domain ids, so that this array has a
size of 512kb, per iommu.
This is a huge waste of space, as the array is usually
sparsely populated. This patch makes the array
two-dimensional and allocates the memory for the domain
pointers on-demand.
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'include/linux/intel-iommu.h')
-rw-r--r-- | include/linux/intel-iommu.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h index d9a366d24e3b..6240063bdcac 100644 --- a/include/linux/intel-iommu.h +++ b/include/linux/intel-iommu.h @@ -344,7 +344,7 @@ struct intel_iommu { #ifdef CONFIG_INTEL_IOMMU unsigned long *domain_ids; /* bitmap of domains */ - struct dmar_domain **domains; /* ptr to domains */ + struct dmar_domain ***domains; /* ptr to domains */ spinlock_t lock; /* protect context, domain ids */ struct root_entry *root_entry; /* virtual address */ |