Re: [PATCH v4 08/14] nvme-pci: implement dma_token backed requests
From: Anuj Gupta/Anuj Gupta
Date: Thu Jul 30 2026 - 07:53:09 EST
On 7/30/2026 4:11 PM, Pavel Begunkov wrote:
>>
>> I wonder if it's possible to perform the PRP list page allocations and
>> initialization in nvme_dma_buf_io_map() instead of the I/O path. The
>> NVMe dma_pools are per-NUMA-node linked lists protected by spinlocks,
>> making them significant CPU hotspots. If the dmabuf registration set
>> up a contiguous DMA-coherent list of PRP entries for the pages of the
>> registered buffer, any command using the dmabuf and requiring at most
>> 1 PRP list page (i.e. length <= 2 MB) could just set its PRP list
>> pointer to an offset into the dmabuf's PRP list.
>
> Possible to an extent, predecessor patches tried that, I left it for
> later to keep the series simpler. I guess chaining won't work in
> general case.
> I mentioned this to Kanchan, Anuj and Nitesh before, they were up to
> playing with nvme optimisations in general, and since sgl from Anuj
> is ready, maybe they already have a prototype somewhere for that.
>
Right, I have prototyped the PRP list optimisation before. I will send
it once the initial version of this series lands, to avoid adding new
review churn while the rest of the series is pretty settled.
> --
> Pavel Begunkov