RE: [PATCH v3 3/4] iommufd: Add IOMMU_DEVICE_GET_HW_INFO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: Nicolin Chen <nicolinc@xxxxxxxxxx>
> Sent: Saturday, May 20, 2023 2:30 AM
> 
> Hi Kevin,
> 
> On Fri, May 19, 2023 at 08:42:07AM +0000, Tian, Kevin wrote:
> 
> > > +};
> > > +#define IOMMU_DEVICE_GET_HW_INFO _IO(IOMMUFD_TYPE,
> > > IOMMUFD_CMD_DEVICE_GET_HW_INFO)
> > >  #endif
> >
> > Here we have a naming confusion.
> >
> > 'IOMMU' is the prefix of iommufd ioctls.
> >
> > 'DEVICE' is the subjective.
> >
> > Then "GET_HW_INFO" implies getting hardware info related to
> > this device. then it should not be restricted to the iommu info.
> >
> > with that it's clearer to call it IOMMU_DEVICE_GET_IOMMU_INFO.
> 
> Though the entire ioctl is tied to the input "dev_id", I think
> it isn't really about the device corresponding to the dev_id,
> similar to the IOMMU_HWPT_ALLOC having a dev_id input too. So,
> I think the "IOMMU_DEVICE" here should be interpreted simply
> as "an iommu device". We could also highlight this somewhere
> in the header.

yes this is a good view of it. with that it's not necessary to have
a 'DEVICE' notation in the name which looks confusing with dev_id.

Just IOMMU_GET_HW_INFO for the iommu behind the specified dev_id.

then keep the structure name as iommu_hw_info.

> 
> With that being said, IOMMU_DEVICE_SET/UNSET_DATA should be
> renamed to IOMMU_DEVICE_SET/UNSET_DEV_DATA -- "DEVICE" is the
> iommu device while the "DEV_DATA" is a given device that's
> behind the iommu.

this then becomes IOMMU_SET/UNSET_DEV_DATA.

> 
> > similarly for struct iommu_hw_info.
> >
> > 'iommu' is the prefix for all iommufd ioctl structures.
> >
> > then 'hw_info' is too broard.
> >
> > iommu_device_iommu_info reads better? though having two
> > iommu's in the name is a little bit annoying...
> 
> How about:
> IOMMU_DEVICE_GET_FEATURES
> struct iommu_device_features
> ?
> 
> Thanks
> Nic




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux