Re: [Intel-gfx] [PATCH 00/10] Connect VFIO to IOMMUFD

Yi Liu
2022-11-01T12:54:29Z

On 2022/11/1 12:21, Nicolin Chen wrote:
> On Tue, Nov 01, 2022 at 11:04:38AM +0800, Yi Liu wrote:
>> On 2022/11/1 07:24, Jason Gunthorpe wrote:
>>> On Mon, Oct 31, 2022 at 08:25:39PM +0800, Yi Liu wrote:
>>>>> There is something wrong with the test suite that it isn't covering
>>>>> the above, I'm going to look into that today.
>>>>
>>>> sounds to be the cause. I didn't see any significant change in vfio_main.c
>>>> that may fail gvt. So should the iommufd changes. Then we will re-run the
>>>> test after your update.:-)
>>>
>>> I updated the github with all the changes made so far, it is worth
>>> trying again!
>>
>> gvt is still failing with below call trace in host side. vfio_unpin_pages()
>> is still in problem. Any idea on it?
>
>> [ 206.464318] WARNING: CPU: 9 PID: 3362 at
>> drivers/iommu/iommufd/device.c:591 iommufd_access_pin_pages+0x337/0x360
>
> Judging from this WARNING, and since gvt (mdev) needs pin_pages(),
> I assume this might be a fix, though Jason's latest change for the
> iova_alignment seems to be added for CONFIG_IOMMUFD_TEST only.
>
> ------
> diff --git a/drivers/vfio/iommufd.c b/drivers/vfio/iommufd.c
> index 72a289c5f8c9..185075528d5e 100644
> --- a/drivers/vfio/iommufd.c
> +++ b/drivers/vfio/iommufd.c
> @@ -120,6 +120,7 @@ static void vfio_emulated_unmap(void *data, unsigned long iova,
> }
>
> static const struct iommufd_access_ops vfio_user_ops = {
> + .needs_pin_pages = 1,
> .unmap = vfio_emulated_unmap,
> };
>
> ------
>
> Perhaps you can try it first to see if we can test the rest part of
> the routine for now, till Jason acks tomorrow.

fyi. it works so far. :-)

--
Regards,
Yi Liu