All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yi Liu <yi.l.liu@intel.com>
To: Jason Gunthorpe <jgg@nvidia.com>, "Tian, Kevin" <kevin.tian@intel.com>
Cc: "alex.williamson@redhat.com" <alex.williamson@redhat.com>,
	"cohuck@redhat.com" <cohuck@redhat.com>,
	"eric.auger@redhat.com" <eric.auger@redhat.com>,
	"nicolinc@nvidia.com" <nicolinc@nvidia.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"mjrosato@linux.ibm.com" <mjrosato@linux.ibm.com>,
	"chao.p.peng@linux.intel.com" <chao.p.peng@linux.intel.com>,
	"yi.y.sun@linux.intel.com" <yi.y.sun@linux.intel.com>,
	"peterx@redhat.com" <peterx@redhat.com>,
	"jasowang@redhat.com" <jasowang@redhat.com>
Subject: Re: [RFC 11/12] vfio: Add ioctls for device cdev iommufd
Date: Mon, 9 Jan 2023 23:07:06 +0800	[thread overview]
Message-ID: <f7ee1b8d-0aca-d211-b75f-04048bc367a2@intel.com> (raw)
In-Reply-To: <Y7whYf5/f1ZRRwK1@nvidia.com>

On 2023/1/9 22:14, Jason Gunthorpe wrote:
> On Mon, Jan 09, 2023 at 07:47:03AM +0000, Tian, Kevin wrote:
>>> From: Liu, Yi L <yi.l.liu@intel.com>
>>> Sent: Monday, December 19, 2022 4:47 PM
>>>
>>> @@ -415,7 +416,7 @@ static int vfio_device_first_open(struct
>>> vfio_device_file *df,
>>>   	if (!try_module_get(device->dev->driver->owner))
>>>   		return -ENODEV;
>>>
>>> -	if (iommufd)
>>> +	if (iommufd && !IS_ERR(iommufd))
>>>   		ret = vfio_iommufd_bind(device, iommufd, dev_id, pt_id);
>>>   	else
>>>   		ret = vfio_device_group_use_iommu(device);
>>
>> can you elaborate how noiommu actually works in the cdev path?
> 
> I still need someone to test the noiommu iommufd patch with dpdk, I'll
> post it in a minute

I remembered I had mentioned I found one guy to help. But he mentioned
to me he has got some trouble. I think it may be due to environment. Let
me check with him tomorrow about if any update.

> For cdev conversion no-iommu should be triggered by passing in -1 for
> the iommufd file descriptor to indicate there is no translation. Then
> the module parameter and security checks should be done before
> allowing the open to succeed with an identity translation in place.
> 
> There should be a check that there is no iommu driver controlling the
> device as well..

yes. I used ERR_PTR(-EINVAL) as an indicator of noiommu in this patch.
I admit this logic is incorrect. Should be

	if (iommufd) {
		if (IS_ERR(iommufd))
			ret = 0;
   		else
			ret = vfio_iommufd_bind(device, iommufd, dev_id, pt_id);
    	} else {
   		ret = vfio_device_group_use_iommu(device);
	}

-- 
Regards,
Yi Liu

  reply	other threads:[~2023-01-09 15:11 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-19  8:47 [RFC 00/12] Add vfio_device cdev for iommufd support Yi Liu
2022-12-19  8:47 ` [RFC 01/12] vfio: Allocate per device file structure Yi Liu
2022-12-21  3:57   ` Tian, Kevin
2022-12-21  6:46     ` Yi Liu
2022-12-19  8:47 ` [RFC 02/12] vfio: Refine vfio file kAPIs Yi Liu
2022-12-19  8:47 ` [RFC 03/12] vfio: Accept vfio device file in the driver facing kAPI Yi Liu
2022-12-21  4:07   ` Tian, Kevin
2022-12-21  7:02     ` Yi Liu
2023-01-04 18:25     ` Jason Gunthorpe
2023-01-09  4:13       ` Tian, Kevin
2022-12-19  8:47 ` [RFC 04/12] kvm/vfio: Rename kvm_vfio_group to prepare for accepting vfio device fd Yi Liu
2022-12-19  8:47 ` [RFC 05/12] kvm/vfio: Accept vfio device file from userspace Yi Liu
2023-01-06 14:32   ` Jason Gunthorpe
2023-01-06 14:46     ` Yi Liu
2023-01-06 14:55       ` Jason Gunthorpe
2023-01-06 15:04         ` Yi Liu
2023-01-06 16:08           ` Jason Gunthorpe
2023-01-09  4:17           ` Tian, Kevin
2023-01-09  4:26             ` Yi Liu
2022-12-19  8:47 ` [RFC 06/12] vfio: Pass struct vfio_device_file * to vfio_device_open/close() Yi Liu
2022-12-21  4:10   ` Tian, Kevin
2022-12-21  7:04     ` Yi Liu
2022-12-19  8:47 ` [RFC 07/12] vfio: Block device access via device fd until device is opened Yi Liu
2022-12-21  4:18   ` Tian, Kevin
2023-01-04 20:47   ` Jason Gunthorpe
2022-12-19  8:47 ` [RFC 08/12] vfio: Add infrastructure for bind_iommufd and attach Yi Liu
2023-01-09  5:46   ` Tian, Kevin
2023-01-09 13:21     ` Jason Gunthorpe
2023-01-10  2:53       ` Tian, Kevin
2022-12-19  8:47 ` [RFC 09/12] vfio: Make vfio_device_open() exclusive between group path and device cdev path Yi Liu
2023-01-09  6:03   ` Tian, Kevin
2022-12-19  8:47 ` [RFC 10/12] vfio: Add cdev for vfio_device Yi Liu
2023-01-09  6:54   ` Tian, Kevin
2022-12-19  8:47 ` [RFC 11/12] vfio: Add ioctls for device cdev iommufd Yi Liu
2023-01-09  7:47   ` Tian, Kevin
2023-01-09 14:14     ` Jason Gunthorpe
2023-01-09 15:07       ` Yi Liu [this message]
2023-01-09 15:12         ` Jason Gunthorpe
2023-01-09 15:20           ` Yi Liu
2023-01-09 14:55     ` Yi Liu
2023-01-10  2:57       ` Tian, Kevin
2022-12-19  8:47 ` [RFC 12/12] vfio: Compile group optionally Yi Liu
2022-12-19  8:51 ` [RFC 00/12] Add vfio_device cdev for iommufd support Yi Liu
2023-01-04 15:23 ` Yi Liu

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=f7ee1b8d-0aca-d211-b75f-04048bc367a2@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=jasowang@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=mjrosato@linux.ibm.com \
    --cc=nicolinc@nvidia.com \
    --cc=peterx@redhat.com \
    --cc=yi.y.sun@linux.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.