netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC 00/13] fix DMA aligment issues around virtio
@ 2025-12-30 10:15 Michael S. Tsirkin
  2025-12-30 10:15 ` [PATCH RFC 01/13] dma-mapping: add __dma_from_device_align_begin/end Michael S. Tsirkin
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: Michael S. Tsirkin @ 2025-12-30 10:15 UTC (permalink / raw)
  To: linux-kernel
  Cc: Cong Wang, Jonathan Corbet, Olivia Mackall, Herbert Xu,
	Jason Wang, Paolo Bonzini, Stefan Hajnoczi, Eugenio Pérez,
	James E.J. Bottomley, Martin K. Petersen, Gerd Hoffmann,
	Xuan Zhuo, Marek Szyprowski, Robin Murphy, Stefano Garzarella,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Petr Tesarik, Leon Romanovsky, Jason Gunthorpe,
	linux-doc, linux-crypto, virtualization, linux-scsi, iommu, kvm,
	netdev


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?

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(-)

-- 
MST


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-12-30 16:40 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-30 10:15 [PATCH RFC 00/13] fix DMA aligment issues around virtio Michael S. Tsirkin
2025-12-30 10:15 ` [PATCH RFC 01/13] dma-mapping: add __dma_from_device_align_begin/end Michael S. Tsirkin
2025-12-30 10:15 ` [PATCH RFC 02/13] docs: dma-api: document __dma_align_begin/end Michael S. Tsirkin
2025-12-30 10:15 ` [PATCH RFC 03/13] dma-mapping: add DMA_ATTR_CPU_CACHE_CLEAN Michael S. Tsirkin
2025-12-30 10:15 ` [PATCH RFC 04/13] docs: dma-api: document DMA_ATTR_CPU_CACHE_CLEAN Michael S. Tsirkin
2025-12-30 10:16 ` [PATCH RFC 05/13] dma-debug: track cache clean flag in entries Michael S. Tsirkin
2025-12-30 10:16 ` [PATCH RFC 06/13] virtio: add virtqueue_add_inbuf_cache_clean API Michael S. Tsirkin
2025-12-30 10:16 ` [PATCH RFC 07/13] vsock/virtio: fix DMA alignment for event_list Michael S. Tsirkin
2025-12-30 10:16 ` [PATCH RFC 08/13] vsock/virtio: use virtqueue_add_inbuf_cache_clean for events Michael S. Tsirkin
2025-12-30 10:16 ` [PATCH RFC 09/13] virtio_input: fix DMA alignment for evts Michael S. Tsirkin
2025-12-30 10:16 ` [PATCH RFC 10/13] virtio_scsi: fix DMA cacheline issues for events Michael S. Tsirkin
2025-12-30 10:16 ` [PATCH RFC 11/13] virtio-rng: fix DMA alignment for data buffer Michael S. Tsirkin
2025-12-30 10:16 ` [PATCH RFC 12/13] virtio_input: use virtqueue_add_inbuf_cache_clean for events Michael S. Tsirkin
2025-12-30 10:16 ` [PATCH RFC 13/13] vsock/virtio: reorder fields to reduce struct padding Michael S. Tsirkin
2025-12-30 16:40 ` [PATCH RFC 14/13] gpio: virtio: fix DMA alignment Michael S. Tsirkin
2025-12-30 16:40 ` [PATCH RFC 15/13] gpio: virtio: reorder fields to reduce struct padding Michael S. Tsirkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).