On Fri, Jan 24, 2025 at 04:30:32PM -0800, Nicolin Chen wrote: > The fault object was designed exclusively for hwpt's IO page faults (PRI). > But its queue implementation can be reused for other purposes too, such as > hardware IRQ and event injections to user space. > > Meanwhile, a fault object holds a list of faults. So it's more accurate to > call it a "fault queue". Combining the reusing idea above, abstract a new > iommufd_eventq as a common structure embedded into struct iommufd_fault, > similar to hwpt_paging holding a common hwpt. > > Add a common iommufd_eventq_ops and iommufd_eventq_init to prepare for an > IOMMUFD_OBJ_VEVENTQ (vIOMMU Event Queue). > > Reviewed-by: Lu Baolu <baolu...@linux.intel.com> > Reviewed-by: Kevin Tian <kevin.t...@intel.com> > Signed-off-by: Nicolin Chen <nicol...@nvidia.com> > --- > drivers/iommu/iommufd/iommufd_private.h | 28 ++++-- > drivers/iommu/iommufd/fault.c | 111 +++++++++++++----------- > drivers/iommu/iommufd/hw_pagetable.c | 6 +- > 3 files changed, 82 insertions(+), 63 deletions(-)
Reviewed-by: Jason Gunthorpe <j...@nvidia.com> Jason