On Tue, 17 Dec 2024 16:37:29 -0800 David Wei wrote: > struct dmabuf_genpool_chunk_owner { > - /* Offset into the dma-buf where this chunk starts. */ > - unsigned long base_virtual; > + struct net_iov_area area; > + struct net_devmem_dmabuf_binding *binding; > > /* dma_addr of the start of the chunk. */ > dma_addr_t base_dma_addr; Is there a good reason why dma addr is not part of net_iov_area? net_iov_area is one chunk of continuous address space. Instead of looping over pages in io_zcrx_map_area we could map the whole thing in one go.