Re: [GIT PULL] virtio: features

From: Jason Wang
Date: Wed Nov 29 2023 - 05:20:58 EST


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