On Fri, Feb 14, 2025 at 07:55:11AM +0200, Leon Romanovsky wrote: > > The point is to detect cases where they happen to be in order because > > they were split up due to the 32 bit limit in the sgl. > > There is no promise that this split will create consecutive SG entries > and iterator will fetch them in that order too. Yes, that is guarenteed, if the memory is contiguous and split then the SG entries have to be consecutive and the sg iterator has to go in order. Otherwise the DMA transfer would be scrambled. In normal cases we except the SGL to already be fully aggregated so all SGL boundaries also have a dma_addr discontinuity. This special case of exceeding the 32 bit limit is the only time we should have consecutive sgls that are dma_addr contiguous. Jason