[RFC 0/5] NVMe passthrough: Support 64kB page host

Eric Auger posted 5 patches 3 years, 7 months ago
Failed in applying to current master (apply log)
block/nvme.c | 43 +++++++++++++++++++++++--------------------
1 file changed, 23 insertions(+), 20 deletions(-)
[RFC 0/5] NVMe passthrough: Support 64kB page host
Posted by Eric Auger 3 years, 7 months ago
This series allows NVMe passthrough on aarch64 with 64kB page host.
Addresses and sizes of buffers which are VFIO DMA mapped are
aligned with the host page size.

nvme_register_buf() path is taken care of in this series
but it does not seem to prevent the use case from working.

Best Regards

Eric

This series can be found at:
https://github.com/eauger/qemu/tree/nvme_64k_rfc

This was tested on ARM only.

Eric Auger (5):
  block/nvme: use some NVME_CAP_* macros
  block/nvme: Change size and alignment of IDENTIFY response buffer
  block/nvme: Change size and alignment of queue
  block/nvme: Change size and alignment of prp_list_pages
  block/nvme: Align iov's va and size on host page size

 block/nvme.c | 43 +++++++++++++++++++++++--------------------
 1 file changed, 23 insertions(+), 20 deletions(-)

-- 
2.21.3


Re: [RFC 0/5] NVMe passthrough: Support 64kB page host
Posted by Philippe Mathieu-Daudé 3 years, 7 months ago
On 10/15/20 1:52 PM, Eric Auger wrote:
> This series allows NVMe passthrough on aarch64 with 64kB page host.
> Addresses and sizes of buffers which are VFIO DMA mapped are
> aligned with the host page size.
> 
> nvme_register_buf() path is taken care of in this series
> but it does not seem to prevent the use case from working.
> 
> Best Regards
> 
> Eric
> 
> This series can be found at:
> https://github.com/eauger/qemu/tree/nvme_64k_rfc
> 
> This was tested on ARM only.
> 
> Eric Auger (5):
>    block/nvme: use some NVME_CAP_* macros
>    block/nvme: Change size and alignment of IDENTIFY response buffer
>    block/nvme: Change size and alignment of queue
>    block/nvme: Change size and alignment of prp_list_pages
>    block/nvme: Align iov's va and size on host page size

Since it is easier for me to rebase on top of your series,
I'm including it in my work (fixing the checkpatch errors)
and will repost block/nvme/ patches altogether.

Regards,

Phil.


Re: [RFC 0/5] NVMe passthrough: Support 64kB page host
Posted by Auger Eric 3 years, 7 months ago
Hi Philippe,

On 10/15/20 3:49 PM, Philippe Mathieu-Daudé wrote:
> On 10/15/20 1:52 PM, Eric Auger wrote:
>> This series allows NVMe passthrough on aarch64 with 64kB page host.
>> Addresses and sizes of buffers which are VFIO DMA mapped are
>> aligned with the host page size.
>>
>> nvme_register_buf() path is taken care of in this series
>> but it does not seem to prevent the use case from working.
>>
>> Best Regards
>>
>> Eric
>>
>> This series can be found at:
>> https://github.com/eauger/qemu/tree/nvme_64k_rfc
>>
>> This was tested on ARM only.
>>
>> Eric Auger (5):
>>    block/nvme: use some NVME_CAP_* macros
>>    block/nvme: Change size and alignment of IDENTIFY response buffer
>>    block/nvme: Change size and alignment of queue
>>    block/nvme: Change size and alignment of prp_list_pages
>>    block/nvme: Align iov's va and size on host page size
> 
> Since it is easier for me to rebase on top of your series,
> I'm including it in my work (fixing the checkpatch errors)
> and will repost block/nvme/ patches altogether.

There should be one warning (line exceeding 80 chars) but no error. I
can easily rebase/respin if you prefer.

Thanks

Eric
> 
> Regards,
> 
> Phil.
> 
> 


Re: [RFC 0/5] NVMe passthrough: Support 64kB page host
Posted by Philippe Mathieu-Daudé 3 years, 7 months ago
On 10/15/20 6:15 PM, Auger Eric wrote:
> Hi Philippe,
> 
> On 10/15/20 3:49 PM, Philippe Mathieu-Daudé wrote:
>> On 10/15/20 1:52 PM, Eric Auger wrote:
>>> This series allows NVMe passthrough on aarch64 with 64kB page host.
>>> Addresses and sizes of buffers which are VFIO DMA mapped are
>>> aligned with the host page size.
>>>
>>> nvme_register_buf() path is taken care of in this series
>>> but it does not seem to prevent the use case from working.
>>>
>>> Best Regards
>>>
>>> Eric
>>>
>>> This series can be found at:
>>> https://github.com/eauger/qemu/tree/nvme_64k_rfc
>>>
>>> This was tested on ARM only.
>>>
>>> Eric Auger (5):
>>>     block/nvme: use some NVME_CAP_* macros
>>>     block/nvme: Change size and alignment of IDENTIFY response buffer
>>>     block/nvme: Change size and alignment of queue
>>>     block/nvme: Change size and alignment of prp_list_pages
>>>     block/nvme: Align iov's va and size on host page size
>>
>> Since it is easier for me to rebase on top of your series,
>> I'm including it in my work (fixing the checkpatch errors)
>> and will repost block/nvme/ patches altogether.
> 
> There should be one warning (line exceeding 80 chars) but no error. I
> can easily rebase/respin if you prefer.

Yes, warnings, no error. No need to respin.

> 
> Thanks
> 
> Eric
>>
>> Regards,
>>
>> Phil.
>>
>>
>