All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] iommu/smmuv3: Add IOMMUFD dirty tracking support for SMMUv3
@ 2024-02-22  9:49 ` Shameer Kolothum
  0 siblings, 0 replies; 72+ messages in thread
From: Shameer Kolothum @ 2024-02-22  9:49 UTC (permalink / raw)
  To: iommu, linux-arm-kernel
  Cc: joro, jgg, kevin.tian, nicolinc, mshavit, robin.murphy, will,
	joao.m.martins, jiangkunkun, zhukeqian1, linuxarm

Hi,

This is revisiting the earlier attempts [1, 2] to use SMMUv3 HTTU feature
for dirty page tracking. The Intel/AMD support is already mainline.

The code is now based on the new IOMMUFD APIs and is rebased on
Jason's SMMUv3 driver refactor series[3].

Basic sanity tests are done using an emulation setup and on a test
hardware setup. Block page split/merge(BBML) is not part of this
series. I am planning to send it separately.

v1 --> v2:
https://lore.kernel.org/linux-iommu/20231128094940.1344-1-shameerali.kolothum.thodi@huawei.com/

Addressed review comments from Jason and Joao(Thanks)
   -Moved dirty_ops setting to domain finalise(patch #3)
   -Only enable DBM for stage 1 if domain_alloc_user() requests it.
   -Changed IO page table walker(patch #2) and tested with 4KB/16KB/64KB
    with l1/l2/l3 traversal.(The earlier one had a bug where it fails to
    walk L3 level).
   -Rearranged patches a bit to improve bi-sectability.
   -Rebased on top of Jason's v5 of SMMUv3 new API series git.

Please take a look and let me know your feedback.
Thanks,
Shameer

1. https://lore.kernel.org/lkml/20210413085457.25400-1-zhukeqian1@huawei.com/
2. https://lore.kernel.org/linux-iommu/20230518204650.14541-1-joao.m.martins@oracle.com/
3. https://github.com/jgunthorpe/linux/commits/smmuv3_newapi

Jean-Philippe Brucker (1):
  iommu/arm-smmu-v3: Add feature detection for HTTU

Joao Martins (1):
  iommu/arm-smmu-v3: Add support for dirty tracking in domain alloc

Kunkun Jiang (1):
  iommu/arm-smmu-v3: Enable HTTU for stage1 with io-pgtable mapping

Shameer Kolothum (1):
  iommu/io-pgtable-arm: Add read_and_clear_dirty() support

 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 142 +++++++++++++++++---
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h |   8 ++
 drivers/iommu/io-pgtable-arm.c              | 133 +++++++++++++++++-
 include/linux/io-pgtable.h                  |   4 +
 4 files changed, 263 insertions(+), 24 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 72+ messages in thread

end of thread, other threads:[~2024-04-24 14:21 UTC | newest]

Thread overview: 72+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-22  9:49 [PATCH v2 0/4] iommu/smmuv3: Add IOMMUFD dirty tracking support for SMMUv3 Shameer Kolothum
2024-02-22  9:49 ` Shameer Kolothum
2024-02-22  9:49 ` [PATCH v2 1/4] iommu/arm-smmu-v3: Add feature detection for HTTU Shameer Kolothum
2024-02-22  9:49   ` Shameer Kolothum
2024-04-23 14:41   ` Ryan Roberts
2024-04-23 14:41     ` Ryan Roberts
2024-04-23 14:52     ` Jason Gunthorpe
2024-04-23 14:52       ` Jason Gunthorpe
2024-04-24 10:04       ` Ryan Roberts
2024-04-24 10:04         ` Ryan Roberts
2024-04-24 12:23         ` Jason Gunthorpe
2024-04-24 12:23           ` Jason Gunthorpe
2024-04-24 12:59           ` Ryan Roberts
2024-04-24 12:59             ` Ryan Roberts
2024-04-24 13:20           ` Shameerali Kolothum Thodi
2024-04-24 13:20             ` Shameerali Kolothum Thodi
2024-04-24 13:32             ` Jason Gunthorpe
2024-04-24 13:32               ` Jason Gunthorpe
2024-04-24 13:43               ` Shameerali Kolothum Thodi
2024-04-24 13:43                 ` Shameerali Kolothum Thodi
2024-04-24 14:21                 ` Jason Gunthorpe
2024-04-24 14:21                   ` Jason Gunthorpe
2024-04-24  8:01     ` Shameerali Kolothum Thodi
2024-04-24  8:01       ` Shameerali Kolothum Thodi
2024-04-24  8:28       ` Ryan Roberts
2024-04-24  8:28         ` Ryan Roberts
2024-02-22  9:49 ` [PATCH v2 2/4] iommu/io-pgtable-arm: Add read_and_clear_dirty() support Shameer Kolothum
2024-02-22  9:49   ` Shameer Kolothum
2024-04-23 15:56   ` Ryan Roberts
2024-04-23 15:56     ` Ryan Roberts
2024-04-24  8:01     ` Shameerali Kolothum Thodi
2024-04-24  8:01       ` Shameerali Kolothum Thodi
2024-04-24  8:36       ` Ryan Roberts
2024-04-24  8:36         ` Ryan Roberts
2024-02-22  9:49 ` [PATCH v2 3/4] iommu/arm-smmu-v3: Add support for dirty tracking in domain alloc Shameer Kolothum
2024-02-22  9:49   ` Shameer Kolothum
2024-02-22 11:04   ` Joao Martins
2024-02-22 11:04     ` Joao Martins
2024-02-22 11:31     ` Shameerali Kolothum Thodi
2024-02-22 11:31       ` Shameerali Kolothum Thodi
2024-02-22 11:37       ` Joao Martins
2024-02-22 11:37         ` Joao Martins
2024-02-22 12:24         ` Shameerali Kolothum Thodi
2024-02-22 12:24           ` Shameerali Kolothum Thodi
2024-02-22 13:11           ` Jason Gunthorpe
2024-02-22 13:11             ` Jason Gunthorpe
2024-02-22 13:23           ` Joao Martins
2024-02-22 13:23             ` Joao Martins
2024-03-08 14:31   ` Jason Gunthorpe
2024-03-08 14:31     ` Jason Gunthorpe
2024-04-23 16:27   ` Ryan Roberts
2024-04-23 16:27     ` Ryan Roberts
2024-04-23 16:39     ` Jason Gunthorpe
2024-04-23 16:39       ` Jason Gunthorpe
2024-04-23 16:50       ` Ryan Roberts
2024-04-23 16:50         ` Ryan Roberts
2024-04-24  8:27     ` Shameerali Kolothum Thodi
2024-04-24  8:27       ` Shameerali Kolothum Thodi
2024-02-22  9:49 ` [PATCH v2 4/4] iommu/arm-smmu-v3: Enable HTTU for stage1 with io-pgtable mapping Shameer Kolothum
2024-02-22  9:49   ` Shameer Kolothum
2024-03-08 14:32   ` Jason Gunthorpe
2024-03-08 14:32     ` Jason Gunthorpe
2024-04-23 16:45   ` Ryan Roberts
2024-04-23 16:45     ` Ryan Roberts
2024-04-23 17:32     ` Jason Gunthorpe
2024-04-23 17:32       ` Jason Gunthorpe
2024-04-24  7:58       ` Ryan Roberts
2024-04-24  7:58         ` Ryan Roberts
2024-04-24 12:15         ` Jason Gunthorpe
2024-04-24 12:15           ` Jason Gunthorpe
2024-04-24 12:45           ` Ryan Roberts
2024-04-24 12:45             ` Ryan Roberts

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.