On Fri, Mar 12, 2021 at 10:01 PM Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > > On Fri, Mar 12, 2021 at 09:49:52PM +0800, Zhu Yanjun wrote: > > In short, the sg list from __sg_alloc_table_from_pages is different > > from the sg list from ib_umem_add_sg_table. > > I don't care about different. Tell me what is wrong with what we have > today. > > I thought your first message said the sgl's were too small, but now > you seem to say they are too big? Sure. The sg list from __sg_alloc_table_from_pages, length of sg is too big. And the dma address is like the followings: " sg_dma_address(sg):0x4b3c1ce000 sg_dma_address(sg):0x4c3c1cd000 sg_dma_address(sg):0x4d3c1cc000 sg_dma_address(sg):0x4e3c1cb000 " The sg list from ib_umem_add_sg_table, length of sg is 2M. And the dma address is like the followings: " sg_dma_address(sg):0x203b400000 sg_dma_address(sg):0x213b200000 sg_dma_address(sg):0x223b000000 sg_dma_address(sg):0x233ae00000 sg_dma_address(sg):0x243ac00000 " The above 2 sg lists will be handled in this function ib_umem_find_best_pgsz. The returned values are different. Zhu Yanjun > > I still have no idea what this problem is > > Jason