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

Tian, Kevin
2025-05-07T08:22:22Z

> 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?

maybe
> we could try something like: "HW_QUEUE", "DIRECT_QUEUE", or so?

HW_QUEUE is OK to me.

>
> Jason, do you have a better idea?
>
> Thanks
> Nicolin