Re: [PATCH v2 10/22] iommufd/viommmu: Add IOMMUFD_CMD_VCMDQ_ALLOC ioctl

Nicolin Chen
2025-05-07T07:38:25Z

On Wed, May 07, 2025 at 07:25:41AM +0000, Tian, Kevin wrote:
> > From: Nicolin Chen <nicolinc@nvidia.com>
> > Sent: Wednesday, May 7, 2025 4:13 AM
> >
> > On Tue, May 06, 2025 at 09:25:59AM +0000, Tian, Kevin wrote:
> > > > From: Nicolin Chen <nicolinc@nvidia.com>
> > > > Sent: Wednesday, April 30, 2025 1:15 AM
> > > >
> > > > On Tue, Apr 29, 2025 at 03:52:48PM +0530, Vasant Hegde wrote:
> > > > > On 4/29/2025 12:15 PM, Nicolin Chen wrote:
> > > > > > On Tue, Apr 29, 2025 at 11:04:06AM +0530, Vasant Hegde wrote:
> > > > > >
> > > > > > Will the hardware replace the physical device ID in the event with
> > > > > > the virtual device ID when injecting the event to a guest event/PPR
> > > > > > queue?
> > > > > > If so, yea, I think you can define them separately using the> vCMDQ
> > > > > infrastructures:
> > > > > > - IOMMU_VCMDQ_TYPE_AMD_VIOMMU_CMDBUF
> > > > > > - IOMMU_VCMDQ_TYPE_AMD_VIOMMU_EVENTLOG
> > > > > > - IOMMU_VCMDQ_TYPE_AMD_VIOMMU_PPRLOG
> > > > > > (@Kevin @Jason Hmm, in this case we might want to revert the
> > naming
> > > > > > "vCMDQ" back to "vQEUEUE", once Vasant confirms.)
> > > >
> > > > I think I should rename IOMMUFD_OBJ_VCMDQ back to
> > > > IOMMUFD_OBJ_VQUEUE
> > > > since the same object fits three types of queue now in the AMD case.
> > > >
> > > > Or any better naming suggestion?
> > > >
> > >
> > > What about IOMMUFD_OBJ_HQUEUE to differentiate from other
> > > pure software queue structs? 'H" stands for direct hw access to
> > > the queue object.
> >
> > I think it make some sense. There has been a concern of mine that
> > some day we might need vQUEUE to deal with some non-HW-acced case,
> > given "vQUEUE" is named much wider than what it actually supports.
> >
> > Also, vEVENTQ and FAULT_QUEUE fit into the "QUEUE" category too..
> >
> > Though "hQUEUE" would break the naming pattern that we have,
>
> what is the naming pattern here?

vIOMMU, vDEVICE, vEVENTQ, vCMDQ

Thanks
Nicolin