On Wed, Nov 29, 2023 at 6:12 PM Ning, Hongyu <hongyu.ning@xxxxxxxxxxxxxxx> wrote: > > > On 2023/11/29 17:16, Jason Wang wrote: > > On Wed, Nov 29, 2023 at 5:05 PM Ning, Hongyu > > <hongyu.ning@xxxxxxxxxxxxxxx> wrote: > >> > >> > >> > >> On 2023/9/4 6:13, Michael S. Tsirkin wrote: > >>> The following changes since commit 2dde18cd1d8fac735875f2e4987f11817cc0bc2c: > >>> > >>> Linux 6.5 (2023-08-27 14:49:51 -0700) > >>> > >>> are available in the Git repository at: > >>> > >>> https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus > >>> > >>> for you to fetch changes up to 1acfe2c1225899eab5ab724c91b7e1eb2881b9ab: > >>> > >>> virtio_ring: fix avail_wrap_counter in virtqueue_add_packed (2023-09-03 18:10:24 -0400) > >>> > >>> ---------------------------------------------------------------- > >>> virtio: features > >>> > >>> a small pull request this time around, mostly because the > >>> vduse network got postponed to next relase so we can be sure > >>> we got the security store right. > >>> > >>> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > >>> > >>> ---------------------------------------------------------------- > >>> Eugenio Pérez (4): > >>> vdpa: add VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK flag > >>> vdpa: accept VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK backend feature > >>> vdpa: add get_backend_features vdpa operation > >>> vdpa_sim: offer VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK > >>> > >>> Jason Wang (1): > >>> virtio_vdpa: build affinity masks conditionally > >>> > >>> Xuan Zhuo (12): > >>> virtio_ring: check use_dma_api before unmap desc for indirect > >>> virtio_ring: put mapping error check in vring_map_one_sg > >>> virtio_ring: introduce virtqueue_set_dma_premapped() > >>> virtio_ring: support add premapped buf > >>> virtio_ring: introduce virtqueue_dma_dev() > >>> virtio_ring: skip unmap for premapped > >>> virtio_ring: correct the expression of the description of virtqueue_resize() > >>> virtio_ring: separate the logic of reset/enable from virtqueue_resize > >>> virtio_ring: introduce virtqueue_reset() > >>> virtio_ring: introduce dma map api for virtqueue > >>> virtio_ring: introduce dma sync api for virtqueue > >>> virtio_net: merge dma operations when filling mergeable buffers > >> > >> Hi, > >> above patch (upstream commit 295525e29a5b) seems causing a virtnet > >> related Call Trace after WARNING from kernel/dma/debug.c. > >> > >> details (log and test setup) tracked in > >> https://bugzilla.kernel.org/show_bug.cgi?id=218204 > >> > >> it's recently noticed in a TDX guest testing since v6.6.0 release cycle > >> and can still be reproduced in latest v6.7.0-rc3. > >> > >> as local bisects results show, above WARNING and Call Trace is linked > >> with this patch, do you mind to take a look? > > > > Looks like virtqueue_dma_sync_single_range_for_cpu() use > > DMA_BIDIRECTIONAL unconditionally. > > > > We should use dir here. > > > > Mind to try? > > > > Thanks > > > > sure, but what I see in the code > virtqueue_dma_sync_single_range_for_cpu() is using DMA_FROM_DEVICE, > probably I misunderstood your point? > > Please let me know any patch/setting to try here. Something like attached. (Not even compiling test). Thanks > > > >> > >>> > >>> Yuan Yao (1): > >>> virtio_ring: fix avail_wrap_counter in virtqueue_add_packed > >>> > >>> Yue Haibing (1): > >>> vdpa/mlx5: Remove unused function declarations > >>> > >>> drivers/net/virtio_net.c | 230 ++++++++++++++++++--- > >>> drivers/vdpa/mlx5/core/mlx5_vdpa.h | 3 - > >>> drivers/vdpa/vdpa_sim/vdpa_sim.c | 8 + > >>> drivers/vhost/vdpa.c | 15 +- > >>> drivers/virtio/virtio_ring.c | 412 ++++++++++++++++++++++++++++++++----- > >>> drivers/virtio/virtio_vdpa.c | 17 +- > >>> include/linux/vdpa.h | 4 + > >>> include/linux/virtio.h | 22 ++ > >>> include/uapi/linux/vhost_types.h | 4 + > >>> 9 files changed, 625 insertions(+), 90 deletions(-) > >>> > >> > > >
Attachment:
0001-virtio_ring-fix-DMA-dir-during-sync.patch
Description: Binary data