On Thu, 28 Mar 2024 15:06:33 +0800, Jason Wang <jasowang@xxxxxxxxxx> wrote: > On Wed, Mar 27, 2024 at 7:14 PM Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> wrote: > > > > As discussed: > > http://lore.kernel.org/all/CACGkMEug-=C+VQhkMYSgUKMC==04m7-uem_yC21bgGkKZh845w@xxxxxxxxxxxxxx > > > > When the vq is premapped mode, the driver manages the dma > > info is a good way. > > > > So this commit make the virtio core not to store the dma > > info and release the memory which is used to store the dma > > info. > > > > If the use_dma_api is false, the memory is also not allocated. > > > > Signed-off-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> > > --- > > drivers/virtio/virtio_ring.c | 120 ++++++++++++++++++++++++++++------- > > 1 file changed, 97 insertions(+), 23 deletions(-) > > > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > > index 1f7c96543d58..08e4f6e1d722 100644 > > --- a/drivers/virtio/virtio_ring.c > > +++ b/drivers/virtio/virtio_ring.c > > @@ -69,23 +69,26 @@ > > > > struct vring_desc_state_split { > > void *data; /* Data for callback. */ > > - struct vring_desc_extra *indir_desc; /* Indirect descriptor, if any. */ > > + struct vring_desc_dma *indir_desc; /* Indirect descriptor, if any. */ > > }; > > > > struct vring_desc_state_packed { > > void *data; /* Data for callback. */ > > - struct vring_desc_extra *indir_desc; /* Indirect descriptor, if any. */ > > + struct vring_desc_dma *indir_desc; /* Indirect descriptor, if any. */ > > u16 num; /* Descriptor list length. */ > > u16 last; /* The last desc state in a list. */ > > }; > > > > struct vring_desc_extra { > > - dma_addr_t addr; /* Descriptor DMA addr. */ > > - u32 len; /* Descriptor length. */ > > u16 flags; /* Descriptor flags. */ > > u16 next; /* The next desc state in a list. */ > > }; > > > > +struct vring_desc_dma { > > + dma_addr_t addr; /* Descriptor DMA addr. */ > > + u32 len; /* Descriptor length. */ > > This seems to be odd, flag should be part of dma info. flags contains F_NEXT, that is used by detach when no dma info. > > To reduce the changeset, I would split out next. Do you mean split this patch set? Thanks > > Thank >