Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1200904
| From | Joerg Roedel <joro@8bytes.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 00/26] iommu/vt-d: Clean up device<->domain attachment |
| Date | 2015-08-05 17:30 +0200 |
| Message-ID | <pU8E1-57u-9@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
Hi, here is a (bigger than I expected) patch-set which cleans up the code to attach and detach domains to iommus in the Intel VT-d driver. In particular, the patch-set does: * Remove special cases around the handling of various domain types and align their handling where possible * Rework the data structures for the domain<->iommu relation to better match with its usage. This allowed to get rid of a couple of search loops. * Make the domain attachment and detachment path to/from an iommu more symmetric. This makes the code easier to understand and maintain. * Rework and simplify the locking around the domain<->iommu attachment/detachment path. A few rough edges and special cases are still left, but I expect that these will be removed with the conversion to default domains. I tested the code with some additional debug code to make sure that domain and domain-id allocation/deallocation works as expected. As test I booted a kernel with the patches (with and without iommu=pt) and ran a KVM guest with devices assigned. No lockdep warning popped up and the debug output was also fine. But of course this is no guarantee that there are no issues left, so I am happy about feedback. Please review! Thanks, Joerg Joerg Roedel (26): iommu/vt-d: Keep track of per-iommu domain ids iommu/vt-d: Add access functions for iommu->domains iommu/vt-d: Split up iommu->domains array iommu/vt-d: Get rid of iommu_attach_vm_domain() iommu/vt-d: Calculate translation in domain_context_mapping_one iommu/vt-d: Simplify domain_context_mapping_one iommu/vt-d: Pass dmar_domain directly into iommu_flush_iotlb_psi iommu/vt-d: Don't pre-allocate domain ids for si_domain iommu/vt-d: Kill dmar_domain->id iommu/vt-d: Replace iommu_bmp with a refcount iommu/vt-d: Simplify io/tlb flushing in intel_iommu_unmap iommu/vt-d: Simplify domain_remove_one_dev_info() iommu/vt-d: Simplify domain_remove_dev_info() iommu/vt-d: Move context-mapping into dmar_insert_dev_info iommu/vt-d: Rename dmar_insert_dev_info() iommu/vt-d: Rename domain_remove_one_dev_info() iommu/vt-d: Rename iommu_detach_dependent_devices() iommu/vt-d: Pass an iommu pointer to domain_init() iommu/vt-d: Establish domain<->iommu link in dmar_insert_one_dev_info iommu/vt-d: Unify domain->iommu attach/detachment iommu/vt-d: Only call domain_remove_one_dev_info to detach old domain iommu/vt-d: Get rid of domain->iommu_lock iommu/vt-d: Remove dmar_global_lock from device_notifier iommu/vt-d: Pass device_domain_info to __dmar_remove_one_dev_info iommu/vt-d: Only insert alias dev_info if there is an alias iommu/vt-d: Avoid duplicate device_domain_info structures drivers/iommu/intel-iommu.c | 664 ++++++++++++++++++++------------------------ include/linux/intel-iommu.h | 2 +- 2 files changed, 295 insertions(+), 371 deletions(-) -- 1.9.1 -- 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 — 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