Re: [PATCH] virtio_ring: skip cpu sync when mapping fails

From: Jason Wang
Date: Sun Jan 12 2025 - 22:07:19 EST


On Fri, Jan 10, 2025 at 4:32 PM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
>
> On Fri, Jan 10, 2025 at 11:32:46AM +0800, Jason Wang wrote:
> > On Wed, Jan 8, 2025 at 7:35 PM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:
> > >
> > > On Mon, Nov 11, 2024 at 10:55:38AM +0800, Jason Wang wrote:
> > > > There's no need to sync DMA for CPU on mapping errors. So this patch
> > > > skips the CPU sync in the error handling path of DMA mapping.
> > > >
> > > > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
> > >
> > >
> > > So as I said, I do not get why we are optimizing error paths.
> > > The commit log at least needs to be improved to document
> > > the motivation.
> >
> > As replied before. Does the following make more sense?
> >
> > 1) dma_map_sg() did this
> > 2) When the driver tries to submit more buffers than SWIOTLB allows,
> > dma_map might fail, in these cases, bouncing is useless.
> >
> > Thanks
>
> About 2 - it's an error path. Is there a reason to think it's common?

For example, doing FIO testing with 1M or larger requests when SWIOTLB
is enabled.

> About 1 - ok reasonable. You can say "while we have no data on how
> common this is, it is consistent with what dma_map_sg does".

Ok.

Thanks

>
> --
> MST
>