[dpdk-dev,RFC,24/24] WORKAROUND examples/vhost_scsi: avoid broken EVENT_IDX

Message ID 20180119134444.24927-25-stefanha@redhat.com (mailing list archive)
State RFC, archived
Delegated to: Maxime Coquelin
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply patch file failure

Commit Message

Stefan Hajnoczi Jan. 19, 2018, 1:44 p.m. UTC
  The EVENT_IDX code in DPDK is broken.  It's missing the
signalled_used_valid flag that handles the corner cases (startup and
wrapping).  Disable it for now.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 examples/vhost_scsi/vhost_scsi.c | 1 -
 1 file changed, 1 deletion(-)
  

Comments

Michael S. Tsirkin Jan. 19, 2018, 7:31 p.m. UTC | #1
On Fri, Jan 19, 2018 at 01:44:44PM +0000, Stefan Hajnoczi wrote:
> The EVENT_IDX code in DPDK is broken.  It's missing the
> signalled_used_valid flag that handles the corner cases (startup and
> wrapping).  Disable it for now.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

FYI signalled_used_valid isn't strictly required,
there are ways to handle event idx without that,
e.g. like virtio within guest.

> ---
>  examples/vhost_scsi/vhost_scsi.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/examples/vhost_scsi/vhost_scsi.c b/examples/vhost_scsi/vhost_scsi.c
> index 61001cadb..7106dc6d2 100644
> --- a/examples/vhost_scsi/vhost_scsi.c
> +++ b/examples/vhost_scsi/vhost_scsi.c
> @@ -22,7 +22,6 @@
>  #include "scsi_spec.h"
>  
>  #define VIRTIO_SCSI_FEATURES ((1 << VIRTIO_F_NOTIFY_ON_EMPTY) |\
> -			      (1 << VIRTIO_RING_F_EVENT_IDX) |\
>  			      (1 << VIRTIO_SCSI_F_INOUT) |\
>  			      (1 << VIRTIO_SCSI_F_CHANGE))
>  
> -- 
> 2.14.3
  

Patch

diff --git a/examples/vhost_scsi/vhost_scsi.c b/examples/vhost_scsi/vhost_scsi.c
index 61001cadb..7106dc6d2 100644
--- a/examples/vhost_scsi/vhost_scsi.c
+++ b/examples/vhost_scsi/vhost_scsi.c
@@ -22,7 +22,6 @@ 
 #include "scsi_spec.h"
 
 #define VIRTIO_SCSI_FEATURES ((1 << VIRTIO_F_NOTIFY_ON_EMPTY) |\
-			      (1 << VIRTIO_RING_F_EVENT_IDX) |\
 			      (1 << VIRTIO_SCSI_F_INOUT) |\
 			      (1 << VIRTIO_SCSI_F_CHANGE))