[PATCH v2 0/2] hw/riscv/riscv-iommu: reclaim invalidated IOATC entries

Tan Chi posted 2 patches 1 week ago
hw/riscv/riscv-iommu.c | 173 ++++++++++++++++++++---------------------
hw/riscv/riscv-iommu.h |   1 +
2 files changed, 87 insertions(+), 87 deletions(-)
[PATCH v2 0/2] hw/riscv/riscv-iommu: reclaim invalidated IOATC entries
Posted by Tan Chi 1 week ago
This series changes selective IOTINVAL handling to remove matching entries
from the IOATC instead of leaving them in the hash table with IOMMU_NONE.

Patch 1 adds explicit serialization for IOATC accesses, providing the
entry lifetime protection needed before entries can be removed.

Patch 2 changes selective invalidation to remove matching entries. This
avoids repeatedly scanning invalid entries and prevents them from
contributing to the IOATC size limit.

The performance measurements are included in patch 2.

v2:
- Split the IOATC locking and invalidation changes into separate patches.
- Reduce the scope of iot_lock in the translation path.

v1:
https://lists.nongnu.org/archive/html/qemu-devel/2026-10/msg01606.html

Tan Chi (2):
  hw/riscv/riscv-iommu: serialize IOATC accesses
  hw/riscv/riscv-iommu: reclaim invalidated IOATC entries

 hw/riscv/riscv-iommu.c | 173 ++++++++++++++++++++---------------------
 hw/riscv/riscv-iommu.h |   1 +
 2 files changed, 87 insertions(+), 87 deletions(-)

-- 
2.53.0
Re: [PATCH v2 0/2] hw/riscv/riscv-iommu: reclaim invalidated IOATC entries
Posted by Alistair Francis 2 days, 12 hours ago
On Sat, 2026-10-17 at 22:39 +0800, Tan Chi wrote:
> This series changes selective IOTINVAL handling to remove matching
> entries
> from the IOATC instead of leaving them in the hash table with
> IOMMU_NONE.
> 
> Patch 1 adds explicit serialization for IOATC accesses, providing the
> entry lifetime protection needed before entries can be removed.
> 
> Patch 2 changes selective invalidation to remove matching entries.
> This
> avoids repeatedly scanning invalid entries and prevents them from
> contributing to the IOATC size limit.
> 
> The performance measurements are included in patch 2.
> 
> v2:
> - Split the IOATC locking and invalidation changes into separate
> patches.
> - Reduce the scope of iot_lock in the translation path.
> 
> v1:
> https://lists.nongnu.org/archive/html/qemu-devel/2026-10/msg01606.html
> 
> Tan Chi (2):
>   hw/riscv/riscv-iommu: serialize IOATC accesses
>   hw/riscv/riscv-iommu: reclaim invalidated IOATC entries

Thanks!

Applied to riscv-to-apply.next

Alistair

> 
>  hw/riscv/riscv-iommu.c | 173 ++++++++++++++++++++-------------------
> --
>  hw/riscv/riscv-iommu.h |   1 +
>  2 files changed, 87 insertions(+), 87 deletions(-)