On Wed, May 07, 2025 at 12:37:57AM -0700, Nicolin Chen wrote: > On Wed, May 07, 2025 at 07:25:41AM +0000, Tian, Kevin wrote: > > > From: Nicolin Chen <nicol...@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 <nicol...@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
You could just call it what it is, "DIRECT QUEUE" or something along those lines to indicate it is mmap'd and so forth, vs being a SW queue with read()/write() HW QUEUE is good too Jason