On Tue, Mar 05, 2024 at 01:18:47PM +0200, Leon Romanovsky wrote: > @@ -236,7 +236,9 @@ struct nvme_iod { > unsigned int dma_len; /* length of single DMA segment mapping */ > dma_addr_t first_dma; > dma_addr_t meta_dma; > - struct sg_table sgt; > + struct dma_iova_attrs iova; > + dma_addr_t dma_link_address[128]; > + u16 nr_dma_link_address; > union nvme_descriptor list[NVME_MAX_NR_ALLOCATIONS]; > }; That's quite a lot of space to add to the iod. We preallocate one for every request, and there could be millions of them.