Re: [PATCH v8 00/14] iommufd: Add vIOMMU infrastructure (Part-3: vEVENTQ)

Nicolin Chen
2025-03-01T04:40:38Z

On Sat, Mar 01, 2025 at 12:16:00PM +0800, Zhangfei Gao wrote:
> On Wed, 26 Feb 2025 at 01:33, Nicolin Chen <nicolinc@nvidia.com> wrote:
> >
> > As the vIOMMU infrastructure series part-3, this introduces a new vEVENTQ
> > object. The existing FAULT object provides a nice notification pathway to
> > the user space with a queue already, so let vEVENTQ reuse that.
> >
> > Mimicing the HWPT structure, add a common EVENTQ structure to support its
> > derivatives: IOMMUFD_OBJ_FAULT (existing) and IOMMUFD_OBJ_VEVENTQ (new).
> >
> > An IOMMUFD_CMD_VEVENTQ_ALLOC is introduced to allocate vEVENTQ object for
> > vIOMMUs. One vIOMMU can have multiple vEVENTQs in different types but can
> > not support multiple vEVENTQs in the same type.
> >
> > The forwarding part is fairly simple but might need to replace a physical
> > device ID with a virtual device ID in a driver-level event data structure.
> > So, this also adds some helpers for drivers to use.
> >
> > As usual, this series comes with the selftest coverage for this new ioctl
> > and with a real world use case in the ARM SMMUv3 driver.
> >
> > This is on Github:
> > https://github.com/nicolinc/iommufd/commits/iommufd_veventq-v8
> > Paring QEMU branch for testing:
> > https://github.com/nicolinc/qemu/commits/wip/for_iommufd_veventq-v8
>
> Thanks Nico
>
> Tested-by: Zhangfei Gao <zhangfei.gao@linaro.org>
>
> After rebase on your branch
> https://github.com/Linaro/linux-kernel-warpdrive/tree/iommufd_veventq-v8
> https://github.com/Linaro/qemu/tree/for_iommufd_veventq-v8
>
> Tested with multi-device in guests, with io page faults happen.

Thanks for testing!

Nicolin