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" <[email protected]> wrote: > > > Cong Wang reported dma debug warnings with virtio-vsock > > and proposed a patch, see: > > > > https://lore.kernel.org/all/[email protected]/ > > > > 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/[email protected]/ one can just do b4 shazam [email protected] > 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(-) > >
