On Wed, Dec 31, 2025 at 02:12:24PM +0100, Petr Tesarik wrote:
> On Tue, 30 Dec 2025 05:15:42 -0500
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>
> > Cong Wang reported dma debug warnings with virtio-vsock
> > and proposed a patch, see:
> >
> > https://lore.kernel.org/all/20251228015451.1253271-1-xiyou.wangcong@gmail.com/
> >
> > however, the issue is more widespread.
> > This is an attempt to fix it systematically.
> > Note: i2c and gio might also be affected, I am still looking
> > into it. Help from maintainers welcome.
> >
> > Early RFC, compile tested only. Sending for early feedback/flames.
> > Cursor/claude used liberally mostly for refactoring, and english.
> >
> > DMA maintainers, could you please confirm the DMA core changes
> > are ok with you?
>
> Before anyone else runs into the same issue as I did: This patch series
> does not apply cleanly unless you first apply commit b148e85c918a
> ("virtio_ring: switch to use vring_virtqueue for virtqueue_add
> variants") from the mst/vhost/vhost branch.
Oh right sorry I forgot to mention it. It's this one:
https://lore.kernel.org/all/20251230064649.55597-8-jasowang@redhat.com/
one can just do
b4 shazam 20251230064649.55597-8-jasowang@redhat.com
> But if you go to the trouble of adding the mst/vhost remote, then the
> above-mentioned branch also contains this patch series, and it's
> probably the best place to find the patched code...
>
> Now, let me set out for review.
>
> Petr T
>
> > Thanks!
> >
> >
> > Michael S. Tsirkin (13):
> > dma-mapping: add __dma_from_device_align_begin/end
> > docs: dma-api: document __dma_align_begin/end
> > dma-mapping: add DMA_ATTR_CPU_CACHE_CLEAN
> > docs: dma-api: document DMA_ATTR_CPU_CACHE_CLEAN
> > dma-debug: track cache clean flag in entries
> > virtio: add virtqueue_add_inbuf_cache_clean API
> > vsock/virtio: fix DMA alignment for event_list
> > vsock/virtio: use virtqueue_add_inbuf_cache_clean for events
> > virtio_input: fix DMA alignment for evts
> > virtio_scsi: fix DMA cacheline issues for events
> > virtio-rng: fix DMA alignment for data buffer
> > virtio_input: use virtqueue_add_inbuf_cache_clean for events
> > vsock/virtio: reorder fields to reduce struct padding
> >
> > Documentation/core-api/dma-api-howto.rst | 42 +++++++++++++
> > Documentation/core-api/dma-attributes.rst | 9 +++
> > drivers/char/hw_random/virtio-rng.c | 2 +
> > drivers/scsi/virtio_scsi.c | 18 ++++--
> > drivers/virtio/virtio_input.c | 5 +-
> > drivers/virtio/virtio_ring.c | 72 +++++++++++++++++------
> > include/linux/dma-mapping.h | 17 ++++++
> > include/linux/virtio.h | 5 ++
> > kernel/dma/debug.c | 26 ++++++--
> > net/vmw_vsock/virtio_transport.c | 8 ++-
> > 10 files changed, 172 insertions(+), 32 deletions(-)
> >