All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lu Baolu <baolu.lu@linux.intel.com>
To: Joerg Roedel <joro@8bytes.org>, Jason Gunthorpe <jgg@nvidia.com>,
	Christoph Hellwig <hch@infradead.org>,
	Ben Skeggs <bskeggs@redhat.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Ashok Raj <ashok.raj@intel.com>, Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>
Cc: baolu.lu@linux.intel.com,
	Alex Williamson <alex.williamson@redhat.com>,
	Eric Auger <eric.auger@redhat.com>, Liu Yi L <yi.l.liu@intel.com>,
	Jacob jun Pan <jacob.jun.pan@intel.com>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 00/10] iommu cleanup and refactoring
Date: Mon, 14 Feb 2022 10:00:10 +0800	[thread overview]
Message-ID: <e56ac8fd-151e-fb51-f2ee-7b4cc8b69c5c@linux.intel.com> (raw)
In-Reply-To: <20220208012559.1121729-1-baolu.lu@linux.intel.com>

On 2/8/22 9:25 AM, Lu Baolu wrote:
> Hi,
> 
> The guest pasid and aux-domain related code are dead code in current
> iommu subtree. As we have reached a consensus that all these features
> should be based on the new iommufd framework (which is under active
> development), the first part of this series removes and cleanups all
> the dead code.
> 
> The second part of this series refactors the iommu_domain by moving all
> domain specific ops from iommu_ops to a new iommu_domain_ops. This makes
> iommu_domain self-contained and represent the abstraction of an I/O
> translation table in the IOMMU subsystem. With different type of
> iommu_domain providing different set of ops, it's easier to support more
> types of I/O translation tables.
> 
> Please help to review and comment.
> 
> Best regards,
> baolu
> 
> Change log:
> v1: https://lore.kernel.org/linux-iommu/20220124071103.2097118-1-baolu.lu@linux.intel.com/
> 
> v2:
>   - Remove apply_resv_region callback.
>   - Remove domain argument from is_attach_deferred callback.
>   - Convert all feasible instances of dev->bus->iommu_ops to dev_iommu_ops().
>   - Add the default_domain_ops (default iommu_domain_ops) in iommu_ops to
>     avoid big churn in dozens of iommu drivers.
>   - We discussed removing pgsize_bitmap in struct iommu_ops and
>     initialize the domain field in domain_alloc(). Considering that
>     domain_alloc() is being refactored, let's wait until the new domain_alloc()
>     comes.
>   - Various code/description refinement.
>   - This version of series is available on github:
>     https://github.com/LuBaolu/intel-iommu/commits/iommu-domain-ops-v2
> 
> Lu Baolu (10):
>    iommu/vt-d: Remove guest pasid related callbacks
>    iommu: Remove guest pasid related interfaces and definitions
>    iommu/vt-d: Remove aux-domain related callbacks
>    iommu: Remove aux-domain related interfaces and iommu_ops
>    iommu: Remove apply_resv_region
>    drm/nouveau/device: Get right pgsize_bitmap of iommu_domain
>    iommu: Use right way to retrieve iommu_ops
>    iommu: Remove unused argument in is_attach_deferred
>    iommu: Use dev_iommu_ops() helper
>    iommu: Split struct iommu_ops
> 
>   include/linux/intel-iommu.h                   |  27 -
>   include/linux/intel-svm.h                     |  12 -
>   include/linux/iommu.h                         | 184 +++---
>   drivers/iommu/amd/amd_iommu.h                 |   3 +-
>   drivers/iommu/intel/pasid.h                   |   4 -
>   include/uapi/linux/iommu.h                    | 181 ------
>   .../drm/nouveau/nvkm/engine/device/tegra.c    |   2 +-
>   drivers/iommu/amd/iommu.c                     |  23 +-
>   drivers/iommu/amd/iommu_v2.c                  |   2 +-
>   drivers/iommu/apple-dart.c                    |  20 +-
>   drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   |  18 +-
>   drivers/iommu/arm/arm-smmu/arm-smmu.c         |  20 +-
>   drivers/iommu/arm/arm-smmu/qcom_iommu.c       |  18 +-
>   drivers/iommu/exynos-iommu.c                  |  14 +-
>   drivers/iommu/fsl_pamu_domain.c               |  10 +-
>   drivers/iommu/intel/debugfs.c                 |   3 +-
>   drivers/iommu/intel/iommu.c                   | 540 +-----------------
>   drivers/iommu/intel/pasid.c                   | 161 ------
>   drivers/iommu/intel/svm.c                     | 209 -------
>   drivers/iommu/iommu.c                         | 326 ++---------
>   drivers/iommu/ipmmu-vmsa.c                    |  18 +-
>   drivers/iommu/msm_iommu.c                     |  30 +-
>   drivers/iommu/mtk_iommu.c                     |  20 +-
>   drivers/iommu/mtk_iommu_v1.c                  |  14 +-
>   drivers/iommu/omap-iommu.c                    |  14 +-
>   drivers/iommu/rockchip-iommu.c                |  14 +-
>   drivers/iommu/s390-iommu.c                    |  14 +-
>   drivers/iommu/sprd-iommu.c                    |  18 +-
>   drivers/iommu/sun50i-iommu.c                  |  18 +-
>   drivers/iommu/tegra-gart.c                    |  18 +-
>   drivers/iommu/tegra-smmu.c                    |  14 +-
>   drivers/iommu/virtio-iommu.c                  |  14 +-
>   32 files changed, 303 insertions(+), 1680 deletions(-)
> 

Thank you very much for the comments. A new version of this series has
been posted here.

https://lore.kernel.org/linux-iommu/20220214015538.2828933-1-baolu.lu@linux.intel.com/

Best regards,
baolu

WARNING: multiple messages have this Message-ID (diff)
From: Lu Baolu <baolu.lu@linux.intel.com>
To: Joerg Roedel <joro@8bytes.org>, Jason Gunthorpe <jgg@nvidia.com>,
	Christoph Hellwig <hch@infradead.org>,
	Ben Skeggs <bskeggs@redhat.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Ashok Raj <ashok.raj@intel.com>, Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>
Cc: David Airlie <airlied@linux.ie>,
	linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jacob jun Pan <jacob.jun.pan@intel.com>,
	Daniel Vetter <daniel@ffwll.ch>
Subject: Re: [PATCH v2 00/10] iommu cleanup and refactoring
Date: Mon, 14 Feb 2022 10:00:10 +0800	[thread overview]
Message-ID: <e56ac8fd-151e-fb51-f2ee-7b4cc8b69c5c@linux.intel.com> (raw)
In-Reply-To: <20220208012559.1121729-1-baolu.lu@linux.intel.com>

On 2/8/22 9:25 AM, Lu Baolu wrote:
> Hi,
> 
> The guest pasid and aux-domain related code are dead code in current
> iommu subtree. As we have reached a consensus that all these features
> should be based on the new iommufd framework (which is under active
> development), the first part of this series removes and cleanups all
> the dead code.
> 
> The second part of this series refactors the iommu_domain by moving all
> domain specific ops from iommu_ops to a new iommu_domain_ops. This makes
> iommu_domain self-contained and represent the abstraction of an I/O
> translation table in the IOMMU subsystem. With different type of
> iommu_domain providing different set of ops, it's easier to support more
> types of I/O translation tables.
> 
> Please help to review and comment.
> 
> Best regards,
> baolu
> 
> Change log:
> v1: https://lore.kernel.org/linux-iommu/20220124071103.2097118-1-baolu.lu@linux.intel.com/
> 
> v2:
>   - Remove apply_resv_region callback.
>   - Remove domain argument from is_attach_deferred callback.
>   - Convert all feasible instances of dev->bus->iommu_ops to dev_iommu_ops().
>   - Add the default_domain_ops (default iommu_domain_ops) in iommu_ops to
>     avoid big churn in dozens of iommu drivers.
>   - We discussed removing pgsize_bitmap in struct iommu_ops and
>     initialize the domain field in domain_alloc(). Considering that
>     domain_alloc() is being refactored, let's wait until the new domain_alloc()
>     comes.
>   - Various code/description refinement.
>   - This version of series is available on github:
>     https://github.com/LuBaolu/intel-iommu/commits/iommu-domain-ops-v2
> 
> Lu Baolu (10):
>    iommu/vt-d: Remove guest pasid related callbacks
>    iommu: Remove guest pasid related interfaces and definitions
>    iommu/vt-d: Remove aux-domain related callbacks
>    iommu: Remove aux-domain related interfaces and iommu_ops
>    iommu: Remove apply_resv_region
>    drm/nouveau/device: Get right pgsize_bitmap of iommu_domain
>    iommu: Use right way to retrieve iommu_ops
>    iommu: Remove unused argument in is_attach_deferred
>    iommu: Use dev_iommu_ops() helper
>    iommu: Split struct iommu_ops
> 
>   include/linux/intel-iommu.h                   |  27 -
>   include/linux/intel-svm.h                     |  12 -
>   include/linux/iommu.h                         | 184 +++---
>   drivers/iommu/amd/amd_iommu.h                 |   3 +-
>   drivers/iommu/intel/pasid.h                   |   4 -
>   include/uapi/linux/iommu.h                    | 181 ------
>   .../drm/nouveau/nvkm/engine/device/tegra.c    |   2 +-
>   drivers/iommu/amd/iommu.c                     |  23 +-
>   drivers/iommu/amd/iommu_v2.c                  |   2 +-
>   drivers/iommu/apple-dart.c                    |  20 +-
>   drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   |  18 +-
>   drivers/iommu/arm/arm-smmu/arm-smmu.c         |  20 +-
>   drivers/iommu/arm/arm-smmu/qcom_iommu.c       |  18 +-
>   drivers/iommu/exynos-iommu.c                  |  14 +-
>   drivers/iommu/fsl_pamu_domain.c               |  10 +-
>   drivers/iommu/intel/debugfs.c                 |   3 +-
>   drivers/iommu/intel/iommu.c                   | 540 +-----------------
>   drivers/iommu/intel/pasid.c                   | 161 ------
>   drivers/iommu/intel/svm.c                     | 209 -------
>   drivers/iommu/iommu.c                         | 326 ++---------
>   drivers/iommu/ipmmu-vmsa.c                    |  18 +-
>   drivers/iommu/msm_iommu.c                     |  30 +-
>   drivers/iommu/mtk_iommu.c                     |  20 +-
>   drivers/iommu/mtk_iommu_v1.c                  |  14 +-
>   drivers/iommu/omap-iommu.c                    |  14 +-
>   drivers/iommu/rockchip-iommu.c                |  14 +-
>   drivers/iommu/s390-iommu.c                    |  14 +-
>   drivers/iommu/sprd-iommu.c                    |  18 +-
>   drivers/iommu/sun50i-iommu.c                  |  18 +-
>   drivers/iommu/tegra-gart.c                    |  18 +-
>   drivers/iommu/tegra-smmu.c                    |  14 +-
>   drivers/iommu/virtio-iommu.c                  |  14 +-
>   32 files changed, 303 insertions(+), 1680 deletions(-)
> 

Thank you very much for the comments. A new version of this series has
been posted here.

https://lore.kernel.org/linux-iommu/20220214015538.2828933-1-baolu.lu@linux.intel.com/

Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  parent reply	other threads:[~2022-02-14  2:01 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-08  1:25 [PATCH v2 00/10] iommu cleanup and refactoring Lu Baolu
2022-02-08  1:25 ` Lu Baolu
2022-02-08  1:25 ` [PATCH v2 01/10] iommu/vt-d: Remove guest pasid related callbacks Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09 13:29   ` Jason Gunthorpe
2022-02-09 13:29     ` Jason Gunthorpe via iommu
2022-02-08  1:25 ` [PATCH v2 02/10] iommu: Remove guest pasid related interfaces and definitions Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09 13:29   ` Jason Gunthorpe
2022-02-09 13:29     ` Jason Gunthorpe via iommu
2022-02-10  0:44     ` Lu Baolu
2022-02-10  0:44       ` Lu Baolu
2022-02-08  1:25 ` [PATCH v2 03/10] iommu/vt-d: Remove aux-domain related callbacks Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09 13:30   ` Jason Gunthorpe
2022-02-09 13:30     ` Jason Gunthorpe via iommu
2022-02-08  1:25 ` [PATCH v2 04/10] iommu: Remove aux-domain related interfaces and iommu_ops Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09 13:30   ` Jason Gunthorpe
2022-02-09 13:30     ` Jason Gunthorpe via iommu
2022-02-08  1:25 ` [PATCH v2 05/10] iommu: Remove apply_resv_region Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09  6:36   ` Christoph Hellwig
2022-02-09  6:36     ` Christoph Hellwig
2022-02-09 13:31   ` Jason Gunthorpe
2022-02-09 13:31     ` Jason Gunthorpe via iommu
2022-02-08  1:25 ` [PATCH v2 06/10] drm/nouveau/device: Get right pgsize_bitmap of iommu_domain Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09 13:31   ` Jason Gunthorpe
2022-02-09 13:31     ` Jason Gunthorpe via iommu
2022-02-10  0:48     ` Lu Baolu
2022-02-10  0:48       ` Lu Baolu
2022-02-08  1:25 ` [PATCH v2 07/10] iommu: Use right way to retrieve iommu_ops Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09  6:40   ` Christoph Hellwig
2022-02-09  6:40     ` Christoph Hellwig
2022-02-09 13:33   ` Jason Gunthorpe
2022-02-09 13:33     ` Jason Gunthorpe via iommu
2022-02-08  1:25 ` [PATCH v2 08/10] iommu: Remove unused argument in is_attach_deferred Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09  6:41   ` Christoph Hellwig
2022-02-09  6:41     ` Christoph Hellwig
2022-02-09 13:34   ` Jason Gunthorpe
2022-02-09 13:34     ` Jason Gunthorpe via iommu
2022-02-09 13:52   ` Robin Murphy
2022-02-09 13:52     ` Robin Murphy
2022-02-10  0:51     ` Lu Baolu
2022-02-10  0:51       ` Lu Baolu
2022-02-14  0:50     ` Lu Baolu
2022-02-14  0:50       ` Lu Baolu
2022-02-08  1:25 ` [PATCH v2 09/10] iommu: Use dev_iommu_ops() helper Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09  6:44   ` Christoph Hellwig
2022-02-09  6:44     ` Christoph Hellwig
2022-02-09 13:41   ` Jason Gunthorpe
2022-02-09 13:41     ` Jason Gunthorpe via iommu
2022-02-10  1:10     ` Lu Baolu
2022-02-10  1:10       ` Lu Baolu
2022-02-08  1:25 ` [PATCH v2 10/10] iommu: Split struct iommu_ops Lu Baolu
2022-02-08  1:25   ` Lu Baolu
2022-02-09  6:46   ` Christoph Hellwig
2022-02-09  6:46     ` Christoph Hellwig
2022-02-09 13:43     ` Jason Gunthorpe
2022-02-09 13:43       ` Jason Gunthorpe via iommu
2022-02-14  2:00 ` Lu Baolu [this message]
2022-02-14  2:00   ` [PATCH v2 00/10] iommu cleanup and refactoring Lu Baolu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e56ac8fd-151e-fb51-f2ee-7b4cc8b69c5c@linux.intel.com \
    --to=baolu.lu@linux.intel.com \
    --cc=airlied@linux.ie \
    --cc=alex.williamson@redhat.com \
    --cc=ashok.raj@intel.com \
    --cc=bskeggs@redhat.com \
    --cc=daniel@ffwll.ch \
    --cc=eric.auger@redhat.com \
    --cc=hch@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jacob.jun.pan@intel.com \
    --cc=jgg@nvidia.com \
    --cc=jonathanh@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=thierry.reding@gmail.com \
    --cc=will@kernel.org \
    --cc=yi.l.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.