[PATCH 7/9] nvme-pci: convert the data mapping blk_rq_dma_map
Daniel Gomez
da.gomez at kernel.org
Tue Jun 17 10:43:26 PDT 2025
On 12/06/2025 07.02, Christoph Hellwig wrote:
> On Wed, Jun 11, 2025 at 02:15:10PM +0200, Daniel Gomez wrote:
>>> #define NVME_MAX_SEGS \
>>> - min(NVME_CTRL_PAGE_SIZE / sizeof(struct nvme_sgl_desc), \
>>> - (PAGE_SIZE / sizeof(struct scatterlist)))
>>> + (NVME_CTRL_PAGE_SIZE / sizeof(struct nvme_sgl_desc))
>>
>> The 8 MiB max transfer size is only reachable if host segments are at least 32k.
>> But I think this limitation is only on the SGL side, right?
>
> Yes, PRPs don't really have the concept of segments to start with.
SGLs don't have the same MPS limitation we have in PRPs. So I think the correct
calculation for NVME_MAX_SEGS is PAGE_SIZE / sizeof(struct nvme_sgl_desc).
More information about the Linux-nvme
mailing list