On Tue, 10 Nov 2026 20:18:33 +0100, Denis V. Lunev wrote:
> iommu/amd: make iommu_completion_wait() wait for flushes queued by other CPUs
> 
> iommu_completion_wait() checks iommu->need_sync without iommu->lock and
> returns at once when it is clear. A completion wait queued by another
> CPU clears the flag before the IOMMU has executed the commands in front
> of it, so the caller can return while its own invalidations are still
> pending. After an unmap that lets an IOVA or a page table page be
> reused while the IOMMU may still hold the old translation. It also
> leaves a hole in "iommu/amd/pgtbl: fix DMA faults on IOVAs mapped while
> the table grows": the DTE flush done before the new page table level is
> published can return before the IOMMU has dropped the old DTE.
> 
> [...]

Applied to branch-rh10-6.12.0-211.52.1.22.x.vz10-ovz, will be released in 
rh10-6.12.0-211.52.1.22.21.vz10, thanks!

[1/3] ms/iommu/amd: move wait_on_sem() out of spinlock
      https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/3e6384ffedcb
[2/3] ms/iommu/amd: serialize sequence allocation under concurrent TLB 
invalidations
      https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/5a6596791b87
[3/3] ms/iommu/amd: Wait for completion instead of returning early in 
iommu_completion_wait()
      https://bitbucket.org/virtuozzocore/vzkernel.vzs/commits/516fe340b0d5

-- 
Konstantin Khorenko,
Virtuozzo Linux Kernel Team


_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to