On 2/4/21 11:52 AM, [email protected] wrote:
> From: Marc-André Lureau <[email protected]>
> 
> Introduce a pending state for commands which aren't finished yet, but
> are being handled. See following patch.
> 
> Signed-off-by: Marc-André Lureau <[email protected]>
> ---
>  contrib/vhost-user-gpu/vugpu.h          | 8 +++++++-
>  contrib/vhost-user-gpu/vhost-user-gpu.c | 8 ++++----
>  contrib/vhost-user-gpu/virgl.c          | 2 +-
>  3 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/contrib/vhost-user-gpu/vugpu.h b/contrib/vhost-user-gpu/vugpu.h
> index 86f3ac86aa..04d5615812 100644
> --- a/contrib/vhost-user-gpu/vugpu.h
> +++ b/contrib/vhost-user-gpu/vugpu.h
> @@ -129,12 +129,18 @@ typedef struct VuGpu {
>      QTAILQ_HEAD(, virtio_gpu_ctrl_command) fenceq;
>  } VuGpu;
>  
> +enum {
> +    VG_CMD_STATE_NEW,

Maybe VG_CMD_STATE_STARTING?

> +    VG_CMD_STATE_PENDING,

Maybe introduce VG_CMD_STATE_PENDING in the
patch using it.

> +    VG_CMD_STATE_FINISHED,
> +};

Can we use a typedef ...

> +
>  struct virtio_gpu_ctrl_command {
>      VuVirtqElement elem;
>      VuVirtq *vq;
>      struct virtio_gpu_ctrl_hdr cmd_hdr;
>      uint32_t error;
> -    bool finished;
> +    int state;

... and use it here?

Or directly declare in place:

       enum {
           VG_CMD_STATE_STARTING,
           VG_CMD_STATE_PENDING,
           VG_CMD_STATE_FINISHED,
       } state;

>      QTAILQ_ENTRY(virtio_gpu_ctrl_command) next;
>  };
>  

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>


Reply via email to