[PATCH v2 00/11] iommu/vt-d: Some Intel IOMMU cleanups

From: Lu Baolu
Date: Sun Feb 13 2022 - 21:58:37 EST


Hi folks,

After a long time of evolution, the drivers/iommu/intel/iommu.c
becomes a bit messy. This series tries to cleanup and refactor
the driver to make it more concise.

It includes,

- Remove some unnecessary code, includes and prototypes;
- Move creating per-device driver data from domain_attach to
device_probe callback.
- Use an array for global per-device driver data so that they
could be searched repidly.
- Use the rculist for per-domain device driver data and remove
the existing spinlock.
- Code style fix.

Your comments are very appreciated.

Best regards,
baolu

Change log:

v1: initial post
- https://lore.kernel.org/linux-iommu/20220207064142.1092846-1-baolu.lu@xxxxxxxxxxxxxxx/

v2:
- Avoid migration of large amounts of code.
- Split the cleanup patches into separated ones for convenient code
review.
- This version of series is available on github:
https://github.com/LuBaolu/intel-iommu/commits/iommu-vtd-cleanup-v2

Lu Baolu (11):
iommu/vt-d: Remove intel_iommu::domains
iommu/vt-d: Remove finding domain in dmar_insert_one_dev_info()
iommu/vt-d: Remove iova_cache_get/put()
iommu/vt-d: Remove domain and devinfo mempool
iommu/vt-d: Remove DEFER_DEVICE_DOMAIN_INFO
iommu/vt-d: Remove unnecessary includes
iommu/vt-d: Remove unnecessary prototypes
iommu/vt-d: Fix indentation of goto labels
iommu/vt-d: Remove commented code
iommu/vt-d: Use xarray for global device_domain_info
iommu/vt-d: Use rculist for per-domain device list

include/linux/intel-iommu.h | 6 +-
drivers/iommu/intel/debugfs.c | 14 +-
drivers/iommu/intel/iommu.c | 597 +++++++++-------------------------
drivers/iommu/intel/pasid.c | 12 +-
drivers/iommu/intel/svm.c | 6 +-
5 files changed, 165 insertions(+), 470 deletions(-)

--
2.25.1