Re: [PATCH v11 05/22] vfio iommu: Added pin and unpin callback functions to vfio_iommu_driver_ops

From: Kirti Wankhede
Date: Tue Nov 08 2016 - 13:50:35 EST




On 11/8/2016 10:09 PM, Alex Williamson wrote:
> On Tue, 8 Nov 2016 19:25:35 +0530
> Kirti Wankhede <kwankhede@xxxxxxxxxx> wrote:
>
...

>>>> -
>>>> + int (*pin_pages)(void *iommu_data, unsigned long *user_pfn,
>>>> + int npage, int prot,
>>>> + unsigned long *phys_pfn);
>>>> + int (*unpin_pages)(void *iommu_data,
>>>
>>> Are we changing from long to int here simply because of the absurdity
>>> in passing in more than a 2^31 entry array, that would already consume
>>> more than 16GB itself?
>>>
>>
>> These are on demand pin/unpin request, will that request go beyond 16GB
>> limit? For Nvidia vGPU solution, pin request will not go beyond this limit.
>
> 16G is simply the size of the user_pfn or phys_pfn arrays at a maximal
> int32_t npage value, the interface actually allows mapping up to 8TB
> per call, but at that point we have 16GB of input, 16GB of output, and
> 80GB of vfio_pfns created. So I don't really have a problem changing
> form long to int given lack of scalability in the API in general, but
> it does make me second guess the API itself. Thanks,
>

Changing to 'long', in future we might enhance this API without changing
it signature.

Thanks,
Kirti