Michael S. Tsirkin
2678369e8e
virtio_scsi: fix DMA cacheline issues for events
...
Current struct virtio_scsi_event_node layout has two problems:
The event (DMA_FROM_DEVICE) and work (CPU-written via
INIT_WORK/queue_work) fields share a cacheline.
On non-cache-coherent platforms, CPU writes to work can
corrupt device-written event data.
If ARCH_DMA_MINALIGN is large enough, the 8 events in event_list share
cachelines, triggering CONFIG_DMA_API_DEBUG warnings.
Fix the corruption by moving event buffers to a separate array and
aligning using __dma_from_device_group_begin()/end().
Suppress the (now spurious) DMA debug warnings using
virtqueue_add_inbuf_cache_clean().
Message-ID: <8801aeef7576a155299f19b6887682dd3a272aba.1767601130.git.mst@redhat.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Signed-off-by: Michael S. Tsirkin <mst@redhat.com >
2026-01-08 09:54:27 -05:00
..
2025-12-15 13:00:03 -06:00
2025-12-15 13:00:33 +01:00
2025-12-05 17:29:04 -08:00
2025-12-06 18:34:24 -08:00
2025-12-16 14:23:10 +09:00
2025-11-25 12:39:26 +01:00
2025-12-16 12:58:57 +01:00
2025-12-20 09:48:56 -08:00
2025-12-01 16:21:16 -05:00
2025-12-06 18:34:24 -08:00
2025-11-21 18:42:02 +00:00
2025-12-06 18:34:24 -08:00
2025-12-08 09:38:52 +09:00
2025-12-05 17:29:04 -08:00
2025-12-06 18:34:24 -08:00
2025-12-16 07:59:30 -06:00
2025-12-05 17:29:04 -08:00
2025-12-06 10:15:41 -08:00
2025-12-05 17:47:59 -08:00
2025-12-05 13:52:43 -08:00
2025-11-26 13:58:59 +09:00
2025-11-27 18:11:43 -08:00
2025-12-09 06:35:53 +09:00
2025-12-04 18:42:48 -08:00
2025-11-25 19:20:42 -08:00
2025-12-06 09:01:27 -08:00
2025-12-04 12:26:36 -08:00
2025-12-13 05:44:03 +12:00
2025-11-20 16:44:04 +01:00
2025-11-26 14:28:19 +01:00
2025-12-13 16:36:57 +12:00
2025-12-19 10:56:13 +10:00
2025-11-26 14:40:59 +01:00
2025-12-21 15:21:10 -08:00
2025-12-09 06:10:17 +09:00
2025-12-19 08:44:22 -08:00
2025-12-06 18:34:24 -08:00
2025-12-17 00:28:51 +01:00
2025-12-12 23:59:39 +01:00
2025-12-06 18:34:24 -08:00
2025-12-04 18:54:37 -08:00
2025-12-21 15:21:10 -08:00
2025-11-19 16:03:12 +02:00
2025-12-21 14:41:29 -08:00
2025-12-14 06:07:09 +12:00
2025-12-05 17:29:04 -08:00
2025-12-05 17:29:04 -08:00
2025-11-28 09:47:44 -06:00
2025-12-14 15:35:35 +12:00
2025-12-06 08:27:07 -08:00
2025-12-05 17:29:04 -08:00
2025-12-04 15:18:33 -08:00
2025-12-19 15:09:09 +00:00
2025-12-17 14:14:51 +01:00
2025-12-09 08:50:27 +09:00
2025-11-26 15:09:30 +01:00
2025-12-19 07:55:35 +12:00
2025-12-11 01:40:00 -08:00
2025-12-06 09:32:25 -08:00
2025-12-09 08:53:24 +09:00
2025-12-06 18:34:24 -08:00
2025-12-16 07:59:30 -06:00
2025-12-06 16:24:52 -08:00
2025-12-13 16:29:22 +12:00
2025-12-06 18:34:24 -08:00
2025-12-02 17:03:55 -08:00
2025-11-20 22:38:38 +05:30
2025-12-09 06:45:00 +09:00
2025-12-10 06:38:17 +09:00
2025-12-04 13:50:39 -08:00
2025-11-18 17:35:36 +01:00
2025-12-05 17:29:04 -08:00
2025-12-17 17:24:28 +01:00
2025-12-03 12:42:36 -08:00
2025-12-03 17:24:33 -08:00
2025-12-13 16:41:50 +12:00
2025-12-04 17:10:08 -08:00
2025-12-11 09:54:59 +09:00
2025-11-29 15:20:23 -06:00
2025-11-19 18:34:24 +00:00
2025-12-08 09:38:52 +09:00
2025-11-26 10:16:10 -06:00
2025-12-13 17:09:06 +12:00
2025-12-07 16:15:19 +01:00
2026-01-08 09:54:27 -05:00
2025-12-03 17:24:33 -08:00
2025-12-06 09:01:27 -08:00
2025-12-08 12:37:27 +05:30
2025-12-18 08:34:00 +00:00
2025-12-06 18:52:00 -08:00
2025-12-14 15:35:35 +12:00
2025-11-21 21:27:20 +01:00
2025-12-15 12:47:39 +01:00
2025-12-06 18:42:12 -08:00
2025-12-06 18:38:19 -08:00
2025-12-08 22:11:00 -05:00
2025-11-26 15:10:39 +01:00
2025-12-06 18:42:12 -08:00
2025-12-05 13:52:43 -08:00
2025-12-04 19:42:53 -08:00
2025-12-26 15:00:01 -05:00
2025-12-06 15:41:26 -08:00
2025-12-04 17:34:16 -08:00
2026-01-08 09:54:26 -05:00
2025-12-06 10:00:49 -08:00
2025-12-06 10:49:19 -08:00
2025-12-06 18:52:00 -08:00
2025-12-06 18:52:00 -08:00