All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yi Liu <yi.l.liu@intel.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: mjrosato@linux.ibm.com, jasowang@redhat.com,
	xudong.hao@intel.com, zhenzhong.duan@intel.com,
	peterx@redhat.com, terrence.xu@intel.com,
	chao.p.peng@linux.intel.com, linux-s390@vger.kernel.org,
	kvm@vger.kernel.org, lulu@redhat.com, yanting.jiang@intel.com,
	joro@8bytes.org, nicolinc@nvidia.com, jgg@nvidia.com,
	yan.y.zhao@intel.com, intel-gfx@lists.freedesktop.org,
	eric.auger@redhat.com, intel-gvt-dev@lists.freedesktop.org,
	yi.y.sun@linux.intel.com, cohuck@redhat.com,
	shameerali.kolothum.thodi@huawei.com,
	suravee.suthikulpanit@amd.com, robin.murphy@arm.com
Subject: Re: [Intel-gfx] [PATCH v4 5/9] vfio: Mark cdev usage in vfio_device
Date: Fri, 28 Apr 2023 14:42:57 +0800	[thread overview]
Message-ID: <9889de08-605e-d04c-0bb6-b075bc63eb90@intel.com> (raw)
In-Reply-To: <20230427124326.20621b3a.alex.williamson@redhat.com>

On 2023/4/28 02:43, Alex Williamson wrote:
> On Wed, 26 Apr 2023 07:54:15 -0700
> Yi Liu <yi.l.liu@intel.com> wrote:
> 
>> Use it to differentiate whether to report group_id or dev_id in revised
>> VFIO_DEVICE_GET_PCI_HOT_RESET_INFO ioctl. Though it is not set at this
>> moment introducing it now allows us to get hot reset ready for cdev.
>>
>> Signed-off-by: Yi Liu <yi.l.liu@intel.com>
>> ---
>>   include/linux/vfio.h | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/include/linux/vfio.h b/include/linux/vfio.h
>> index 4ee613924435..298f4ef16be7 100644
>> --- a/include/linux/vfio.h
>> +++ b/include/linux/vfio.h
>> @@ -63,6 +63,7 @@ struct vfio_device {
>>   	bool iommufd_attached;
>>   #endif
>>   	bool noiommu;
>> +	bool cdev_opened;
>>   };
>>   
>>   /**
>> @@ -140,6 +141,12 @@ int vfio_iommufd_emulated_attach_ioas(struct vfio_device *vdev, u32 *pt_id);
>>   	((int (*)(struct vfio_device *vdev, u32 *pt_id)) NULL)
>>   #endif
>>   
>> +static inline bool vfio_device_cdev_opened(struct vfio_device *device)
>> +{
>> +	lockdep_assert_held(&device->dev_set->lock);
>> +	return device->cdev_opened;
>> +}
> 
> The lockdep test doesn't make much sense here, the method of opening
> the device can't change from an ioctl called on the device, which is
> the only path using this.  

yes, it is only used by the ioctl paths so far. And this flag should be
static in other user-space trigger-able paths with device fd, like the
read/write/mmap. Do you think a comment would help to avoid abuse in other
paths or the name of it implies it should be used after a device is opened?

> If there needs to be a placeholder for
> future code, it should probably statically return false here and we can
> save adding the structure field and locking checks based on the
> semantics of how the field is actually used later.  Thanks,

Thanks for this suggestion. I was also wondering how to handle it when
Eric questioned better to add cdev_opened when it is really used.[1]

[1] 
https://lore.kernel.org/kvm/DS0PR11MB752914607E1DC9CFBFC2EF7AC3609@DS0PR11MB7529.namprd11.prod.outlook.com/

-- 
Regards,
Yi Liu

WARNING: multiple messages have this Message-ID (diff)
From: Yi Liu <yi.l.liu@intel.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: <jgg@nvidia.com>, <kevin.tian@intel.com>, <joro@8bytes.org>,
	<robin.murphy@arm.com>, <cohuck@redhat.com>,
	<eric.auger@redhat.com>, <nicolinc@nvidia.com>,
	<kvm@vger.kernel.org>, <mjrosato@linux.ibm.com>,
	<chao.p.peng@linux.intel.com>, <yi.y.sun@linux.intel.com>,
	<peterx@redhat.com>, <jasowang@redhat.com>,
	<shameerali.kolothum.thodi@huawei.com>, <lulu@redhat.com>,
	<suravee.suthikulpanit@amd.com>,
	<intel-gvt-dev@lists.freedesktop.org>,
	<intel-gfx@lists.freedesktop.org>, <linux-s390@vger.kernel.org>,
	<xudong.hao@intel.com>, <yan.y.zhao@intel.com>,
	<terrence.xu@intel.com>, <yanting.jiang@intel.com>,
	<zhenzhong.duan@intel.com>
Subject: Re: [PATCH v4 5/9] vfio: Mark cdev usage in vfio_device
Date: Fri, 28 Apr 2023 14:42:57 +0800	[thread overview]
Message-ID: <9889de08-605e-d04c-0bb6-b075bc63eb90@intel.com> (raw)
In-Reply-To: <20230427124326.20621b3a.alex.williamson@redhat.com>

On 2023/4/28 02:43, Alex Williamson wrote:
> On Wed, 26 Apr 2023 07:54:15 -0700
> Yi Liu <yi.l.liu@intel.com> wrote:
> 
>> Use it to differentiate whether to report group_id or dev_id in revised
>> VFIO_DEVICE_GET_PCI_HOT_RESET_INFO ioctl. Though it is not set at this
>> moment introducing it now allows us to get hot reset ready for cdev.
>>
>> Signed-off-by: Yi Liu <yi.l.liu@intel.com>
>> ---
>>   include/linux/vfio.h | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/include/linux/vfio.h b/include/linux/vfio.h
>> index 4ee613924435..298f4ef16be7 100644
>> --- a/include/linux/vfio.h
>> +++ b/include/linux/vfio.h
>> @@ -63,6 +63,7 @@ struct vfio_device {
>>   	bool iommufd_attached;
>>   #endif
>>   	bool noiommu;
>> +	bool cdev_opened;
>>   };
>>   
>>   /**
>> @@ -140,6 +141,12 @@ int vfio_iommufd_emulated_attach_ioas(struct vfio_device *vdev, u32 *pt_id);
>>   	((int (*)(struct vfio_device *vdev, u32 *pt_id)) NULL)
>>   #endif
>>   
>> +static inline bool vfio_device_cdev_opened(struct vfio_device *device)
>> +{
>> +	lockdep_assert_held(&device->dev_set->lock);
>> +	return device->cdev_opened;
>> +}
> 
> The lockdep test doesn't make much sense here, the method of opening
> the device can't change from an ioctl called on the device, which is
> the only path using this.  

yes, it is only used by the ioctl paths so far. And this flag should be
static in other user-space trigger-able paths with device fd, like the
read/write/mmap. Do you think a comment would help to avoid abuse in other
paths or the name of it implies it should be used after a device is opened?

> If there needs to be a placeholder for
> future code, it should probably statically return false here and we can
> save adding the structure field and locking checks based on the
> semantics of how the field is actually used later.  Thanks,

Thanks for this suggestion. I was also wondering how to handle it when
Eric questioned better to add cdev_opened when it is really used.[1]

[1] 
https://lore.kernel.org/kvm/DS0PR11MB752914607E1DC9CFBFC2EF7AC3609@DS0PR11MB7529.namprd11.prod.outlook.com/

-- 
Regards,
Yi Liu

  reply	other threads:[~2023-04-28  6:41 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-26 14:54 [Intel-gfx] [PATCH v4 0/9] Enhance vfio PCI hot reset for vfio cdev device Yi Liu
2023-04-26 14:54 ` Yi Liu
2023-04-26 14:54 ` [Intel-gfx] [PATCH v4 1/9] vfio: Determine noiommu in vfio_device registration Yi Liu
2023-04-26 14:54   ` Yi Liu
2023-04-27  6:36   ` [Intel-gfx] " Tian, Kevin
2023-04-27  6:36     ` Tian, Kevin
2023-04-27  7:05     ` [Intel-gfx] " Liu, Yi L
2023-04-27  7:05       ` Liu, Yi L
2023-04-27 18:35       ` [Intel-gfx] " Alex Williamson
2023-04-27 18:35         ` Alex Williamson
2023-04-26 14:54 ` [Intel-gfx] [PATCH v4 2/9] vfio-iommufd: Create iommufd_access for noiommu devices Yi Liu
2023-04-26 14:54   ` Yi Liu
2023-04-27  6:39   ` [Intel-gfx] " Tian, Kevin
2023-04-27  6:39     ` Tian, Kevin
2023-04-27  6:59     ` [Intel-gfx] " Liu, Yi L
2023-04-27  6:59       ` Liu, Yi L
2023-04-27 18:32       ` [Intel-gfx] " Alex Williamson
2023-04-27 18:32         ` Alex Williamson
2023-04-28  6:21         ` [Intel-gfx] " Yi Liu
2023-04-28  6:21           ` Yi Liu
2023-04-28  7:00           ` [Intel-gfx] " Tian, Kevin
2023-04-28  7:00             ` Tian, Kevin
2023-04-28  7:04             ` [Intel-gfx] " Yi Liu
2023-04-28  7:04               ` Yi Liu
2023-04-28 12:07           ` [Intel-gfx] " Jason Gunthorpe
2023-04-28 12:07             ` Jason Gunthorpe
2023-04-28 16:07             ` [Intel-gfx] " Yi Liu
2023-04-28 16:07               ` Yi Liu
2023-05-02 18:12               ` [Intel-gfx] " Jason Gunthorpe
2023-05-02 18:12                 ` Jason Gunthorpe
2023-05-03  9:48                 ` [Intel-gfx] " Liu, Yi L
2023-05-03  9:48                   ` Liu, Yi L
2023-05-03 19:42                   ` [Intel-gfx] " Jason Gunthorpe
2023-05-03 19:42                     ` Jason Gunthorpe
2023-05-08 15:46                   ` [Intel-gfx] " Liu, Yi L
2023-05-08 15:46                     ` Liu, Yi L
2023-04-28 16:13         ` [Intel-gfx] " Yi Liu
2023-04-28 16:13           ` Yi Liu
2023-05-02 18:22           ` [Intel-gfx] " Jason Gunthorpe
2023-05-02 18:22             ` Jason Gunthorpe
2023-05-03  9:57             ` [Intel-gfx] " Liu, Yi L
2023-05-03  9:57               ` Liu, Yi L
2023-05-03 19:41               ` [Intel-gfx] " Jason Gunthorpe
2023-05-03 19:41                 ` Jason Gunthorpe
2023-05-03 22:49                 ` [Intel-gfx] " Alex Williamson
2023-05-03 22:49                   ` Alex Williamson
2023-04-26 14:54 ` [Intel-gfx] [PATCH v4 3/9] vfio/pci: Update comment around group_fd get in vfio_pci_ioctl_pci_hot_reset() Yi Liu
2023-04-26 14:54   ` Yi Liu
2023-04-26 14:54 ` [Intel-gfx] [PATCH v4 4/9] vfio/pci: Move the existing hot reset logic to be a helper Yi Liu
2023-04-26 14:54   ` Yi Liu
2023-04-27  6:39   ` [Intel-gfx] " Tian, Kevin
2023-04-27  6:39     ` Tian, Kevin
2023-04-26 14:54 ` [Intel-gfx] [PATCH v4 5/9] vfio: Mark cdev usage in vfio_device Yi Liu
2023-04-26 14:54   ` Yi Liu
2023-04-27  6:40   ` [Intel-gfx] " Tian, Kevin
2023-04-27  6:40     ` Tian, Kevin
2023-04-27 18:43   ` [Intel-gfx] " Alex Williamson
2023-04-27 18:43     ` Alex Williamson
2023-04-28  6:42     ` Yi Liu [this message]
2023-04-28  6:42       ` Yi Liu
2023-04-26 14:54 ` [Intel-gfx] [PATCH v4 6/9] iommufd: Reserved -1 in the iommufd xarray Yi Liu
2023-04-26 14:54   ` Yi Liu
2023-04-27  6:41   ` [Intel-gfx] " Tian, Kevin
2023-04-27  6:41     ` Tian, Kevin
2023-04-27  7:09     ` [Intel-gfx] " Liu, Yi L
2023-04-27  7:09       ` Liu, Yi L
2023-04-27 11:55       ` [Intel-gfx] " Jason Gunthorpe
2023-04-27 11:55         ` Jason Gunthorpe
2023-04-26 14:54 ` [Intel-gfx] [PATCH v4 7/9] vfio-iommufd: Add helper to retrieve iommufd_ctx and devid for vfio_device Yi Liu
2023-04-26 14:54   ` Yi Liu
2023-04-27  6:45   ` [Intel-gfx] " Tian, Kevin
2023-04-27  6:45     ` Tian, Kevin
2023-04-27  6:45     ` Tian, Kevin
2023-04-27  7:15     ` [Intel-gfx] " Liu, Yi L
2023-04-27  7:15       ` Liu, Yi L
2023-04-26 14:54 ` [Intel-gfx] [PATCH v4 8/9] vfio/pci: Extend VFIO_DEVICE_GET_PCI_HOT_RESET_INFO for vfio device cdev Yi Liu
2023-04-26 14:54   ` Yi Liu
2023-04-27  6:51   ` [Intel-gfx] " Tian, Kevin
2023-04-27  6:51     ` Tian, Kevin
2023-04-27 20:04   ` [Intel-gfx] " Alex Williamson
2023-04-27 20:04     ` Alex Williamson
2023-04-27 20:15     ` [Intel-gfx] " Alex Williamson
2023-04-27 20:15       ` Alex Williamson
2023-05-08 15:32       ` [Intel-gfx] " Liu, Yi L
2023-05-08 15:32         ` Liu, Yi L
2023-05-08 20:29         ` [Intel-gfx] " Alex Williamson
2023-05-08 20:29           ` Alex Williamson
2023-04-26 14:54 ` [Intel-gfx] [PATCH v4 9/9] vfio/pci: Allow passing zero-length fd array in VFIO_DEVICE_PCI_HOT_RESET Yi Liu
2023-04-26 14:54   ` Yi Liu
2023-04-27  6:54   ` [Intel-gfx] " Tian, Kevin
2023-04-27  6:54     ` Tian, Kevin
2023-04-27  7:02     ` [Intel-gfx] " Liu, Yi L
2023-04-27  7:02       ` Liu, Yi L
2023-04-27 21:55   ` [Intel-gfx] " Alex Williamson
2023-04-27 21:55     ` Alex Williamson
2023-05-02 12:55     ` [Intel-gfx] " Liu, Yi L
2023-05-02 12:55       ` Liu, Yi L
2023-04-26 15:07 ` [Intel-gfx] [PATCH v4 0/9] Enhance vfio PCI hot reset for vfio cdev device Liu, Yi L
2023-04-26 15:07   ` Liu, Yi L
2023-04-26 15:15 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork
2023-04-28  9:28 ` [Intel-gfx] [PATCH v4 0/9] " Jiang, Yanting
2023-04-28  9:28   ` Jiang, Yanting

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9889de08-605e-d04c-0bb6-b075bc63eb90@intel.com \
    --to=yi.l.liu@intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=cohuck@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-gvt-dev@lists.freedesktop.org \
    --cc=jasowang@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=lulu@redhat.com \
    --cc=mjrosato@linux.ibm.com \
    --cc=nicolinc@nvidia.com \
    --cc=peterx@redhat.com \
    --cc=robin.murphy@arm.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=terrence.xu@intel.com \
    --cc=xudong.hao@intel.com \
    --cc=yan.y.zhao@intel.com \
    --cc=yanting.jiang@intel.com \
    --cc=yi.y.sun@linux.intel.com \
    --cc=zhenzhong.duan@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.