Re: [PATCH 05/17] net/virtio: don't dump split virtqueue data
From: Tiwei Bie <hidden>
Date: 2018-03-19 08:26:39
On Fri, Mar 16, 2018 at 04:21:08PM +0100, Jens Freimann wrote:
quoted hunk ↗ jump to hunk
VIRTQUEUE_DUMP access split virtqueue data which is not correct when packed virtqueues are used. Signed-off-by: Jens Freimann <redacted> --- drivers/net/virtio/virtqueue.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h index cc2e7c0..82160ca 100644 --- a/drivers/net/virtio/virtqueue.h +++ b/drivers/net/virtio/virtqueue.h@@ -359,7 +359,9 @@ struct virtio_tx_region { } #ifdef RTE_LIBRTE_VIRTIO_DEBUG_DUMP -#define VIRTQUEUE_DUMP(vq) do { \ +#define VIRTQUEUE_DUMP(vq) \ + do { \ + if (vtpci_packed_queue((vq)->hw)) break; \
Maybe it's better to make VIRTQUEUE_DUMP() support packed ring. Thanks
uint16_t used_idx, nused; \ used_idx = (vq)->vq_ring.used->idx; \ nused = (uint16_t)(used_idx - (vq)->vq_used_cons_idx); \ -- 1.8.3.1