> From: Nicolin Chen <nicolinc@nvidia.com> > Sent: Tuesday, May 19, 2026 11:39 AM > > Changelog > v4: > * Rebase on Joerg's IOMMU "fixes" branch > * Rebase on Jason's SMMUv3 cmd_ent series > https://lore.kernel.org/all/0-v2-47b2bf710ad5+716ac- > smmu_no_cmdq_ent_jgg@nvidia.com/ > * [PCI] Don't suspend IOMMU in probe mode > * [iommu] kfree_rcu() iommu_group > * [iommu] Convert gdev->blocked to enum gdev_blocked > * [iommu] Use disable_work_sync() to fix UAF and ref leak > * [iommu] Gate done() transitions to preserve BLOCKED_BROKEN > * [iommu] Decrement recovery_cnt when unplugging a blocked gdev > * [iommu] Drop racy dev_has_iommu() in iommu_report_device_broken() > * [iommu] Add gdev->broken_pending to skip worker after racing recovery > * [smmuv3] Add master->ats_invs scratch > * [smmuv3] Add arm_smmu_cmdq_batch_issue() wrapper > * [smmuv3] Force per-flush sync for has_ats batches > * [smmuv3] Serialize STE.EATS and ats_broken updates > * [smmuv3] Co-clear pending CMDQ_ERR from cmdq issuer > * [smmuv3] Add invs and has_ats to arm_smmu_cmdq_batch > * [smmuv3] Move arm_smmu_invs_for_each_entry to header > * [smmuv3] Set master->ats_broken after clearing STE.EATS > * [smmuv3] Issue CFGI_STE via arm_smmu_cmdq_issue_cmd_with_sync() > * [smmuv3] Keep "smmu" pointer in arm_smmu_inv but add "master" for > ATS Not check the detail yet, but this v4 more than doubles the number of patches in v3. Are they all necessary to be in one series? any chance to split to ease the review...
On Wed, May 20, 2026 at 03:59:43AM +0000, Tian, Kevin wrote: > > From: Nicolin Chen <nicolinc@nvidia.com> > > Sent: Tuesday, May 19, 2026 11:39 AM > > > > Changelog > > v4: > > * Rebase on Joerg's IOMMU "fixes" branch > > * Rebase on Jason's SMMUv3 cmd_ent series > > https://lore.kernel.org/all/0-v2-47b2bf710ad5+716ac- > > smmu_no_cmdq_ent_jgg@nvidia.com/ > > * [PCI] Don't suspend IOMMU in probe mode > > * [iommu] kfree_rcu() iommu_group > > * [iommu] Convert gdev->blocked to enum gdev_blocked > > * [iommu] Use disable_work_sync() to fix UAF and ref leak > > * [iommu] Gate done() transitions to preserve BLOCKED_BROKEN > > * [iommu] Decrement recovery_cnt when unplugging a blocked gdev > > * [iommu] Drop racy dev_has_iommu() in iommu_report_device_broken() > > * [iommu] Add gdev->broken_pending to skip worker after racing recovery > > * [smmuv3] Add master->ats_invs scratch > > * [smmuv3] Add arm_smmu_cmdq_batch_issue() wrapper > > * [smmuv3] Force per-flush sync for has_ats batches > > * [smmuv3] Serialize STE.EATS and ats_broken updates > > * [smmuv3] Co-clear pending CMDQ_ERR from cmdq issuer > > * [smmuv3] Add invs and has_ats to arm_smmu_cmdq_batch > > * [smmuv3] Move arm_smmu_invs_for_each_entry to header > > * [smmuv3] Set master->ats_broken after clearing STE.EATS > > * [smmuv3] Issue CFGI_STE via arm_smmu_cmdq_issue_cmd_with_sync() > > * [smmuv3] Keep "smmu" pointer in arm_smmu_inv but add "master" for > > ATS > > Not check the detail yet, but this v4 more than doubles the number of > patches in v3. Are they all necessary to be in one series? any chance to > split to ease the review... Ah, sorry. Mostly these are dealing with racing and corner cases in the async design... Jason has suggested to drop quite a few things. So, I will respin a v5 that should be much smaller. Let's ignore this v4 for now. Thanks Nicolin
© 2016 - 2026 Red Hat, Inc.