Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1202592
| From | Joerg Roedel <joro@8bytes.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 03/26] iommu/vt-d: Split up iommu->domains array |
| Date | 2015-08-07 13:20 +0200 |
| Message-ID | <pUNQS-6fD-13@gated-at.bofh.it> (permalink) |
| References | <pU8E1-57u-9@gated-at.bofh.it> <pU8NM-5jj-99@gated-at.bofh.it> <pUBZo-5LQ-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, Aug 06, 2015 at 01:20:09PM -0600, Alex Williamson wrote:
> On Wed, 2015-08-05 at 17:18 +0200, Joerg Roedel wrote:
> > static void set_iommu_domain(struct intel_iommu *iommu, u16 did,
> > struct dmar_domain *domain)
> > {
> > - iommu->domains[did] = domain;
> > + struct dmar_domain **domains;
> > + int idx = did >> 8;
> > +
> > + if (!iommu->domains[idx]) {
> > + size_t size = 256 * sizeof(struct dmar_domain *);
> > + iommu->domains[idx] = kzalloc(size, GFP_ATOMIC);
> > + }
> > +
> > + domains = iommu->domains[idx];
> > + if (WARN_ON(!domains))
> > + return;
> > + else
> > + domains[did & 0xff] = domain;
> > }
>
> I'm tempted to suggest using pages here since we're dealing with 2k
> second level arrays, but maybe caring about pointers per page just makes
> that ugly.
The benefit would be that we avoid the slab-overhead while allocating.
But since the VT-d driver is needed on platforms with different
page-sizes, the handling would be indeed more complicated because we
have to split the index at a different point then depending on the
architecture.
Joerg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 00/26] iommu/vt-d: Clean up device<->domain attachment Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:30 +0200
[PATCH 03/26] iommu/vt-d: Split up iommu->domains array Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:30 +0200
Re: [PATCH 03/26] iommu/vt-d: Split up iommu->domains array Alex Williamson <alex.williamson@redhat.com> - 2015-08-07 00:40 +0200
Re: [PATCH 03/26] iommu/vt-d: Split up iommu->domains array Joerg Roedel <joro@8bytes.org> - 2015-08-07 13:20 +0200
[PATCH 14/26] iommu/vt-d: Move context-mapping into dmar_insert_dev_info Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:40 +0200
[PATCH 11/26] iommu/vt-d: Simplify io/tlb flushing in intel_iommu_unmap Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:40 +0200
[PATCH 13/26] iommu/vt-d: Simplify domain_remove_dev_info() Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:40 +0200
[PATCH 10/26] iommu/vt-d: Replace iommu_bmp with a refcount Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:40 +0200
Re: [PATCH 10/26] iommu/vt-d: Replace iommu_bmp with a refcount Alex Williamson <alex.williamson@redhat.com> - 2015-08-06 21:30 +0200
Re: [PATCH 10/26] iommu/vt-d: Replace iommu_bmp with a refcount Joerg Roedel <joro@8bytes.org> - 2015-08-07 13:20 +0200
[PATCH 12/26] iommu/vt-d: Simplify domain_remove_one_dev_info() Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:40 +0200
[PATCH 16/26] iommu/vt-d: Rename domain_remove_one_dev_info() Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:40 +0200
[PATCH 17/26] iommu/vt-d: Rename iommu_detach_dependent_devices() Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:40 +0200
[PATCH 21/26] iommu/vt-d: Only call domain_remove_one_dev_info to detach old domain Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:40 +0200
[PATCH 23/26] iommu/vt-d: Remove dmar_global_lock from device_notifier Joerg Roedel <joro@8bytes.org> - 2015-08-05 17:40 +0200
Re: [PATCH 00/26] iommu/vt-d: Clean up device<->domain attachment Alex Williamson <alex.williamson@redhat.com> - 2015-08-06 23:10 +0200
Re: [PATCH 00/26] iommu/vt-d: Clean up device<->domain attachment Joerg Roedel <joro@8bytes.org> - 2015-08-07 13:30 +0200
csiph-web