All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Ilya Maximets <i.maximets@samsung.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	qemu-devel@nongnu.org,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Maxime Coquelin" <maxime.coquelin@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] vhost-user: Don't ask for reply on postcopy mem table set
Date: Tue, 2 Oct 2018 18:36:33 +0100	[thread overview]
Message-ID: <20181002173632.GB2389@work-vm> (raw)
In-Reply-To: <20181002140947.4107-1-i.maximets@samsung.com>

* Ilya Maximets (i.maximets@samsung.com) wrote:
> According to documentation, NEED_REPLY_MASK should not be set
> for VHOST_USER_SET_MEM_TABLE request in postcopy mode.
> This restriction was mistakenly applied to 'reply_supported'
> variable, which is local and used only for non-postcopy case.
> 
> CC: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Fixes: 9bb38019942c ("vhost+postcopy: Send address back to qemu")
> Signed-off-by: Ilya Maximets <i.maximets@samsung.com>

Yes I think that's right;   the 2nd part (in vhost_user_set_mem_table)
is easy; that's just left overs from before I split it into two.


The postcopy side we've already got the reply from the client
with the mappings, and now we've sent the OK at the end;
so there's no need for the final reply.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  hw/virtio/vhost-user.c | 13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)
> 
> diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
> index b041343632..c442daa562 100644
> --- a/hw/virtio/vhost-user.c
> +++ b/hw/virtio/vhost-user.c
> @@ -374,8 +374,6 @@ static int vhost_user_set_mem_table_postcopy(struct vhost_dev *dev,
>      int fds[VHOST_MEMORY_MAX_NREGIONS];
>      int i, fd;
>      size_t fd_num = 0;
> -    bool reply_supported = virtio_has_feature(dev->protocol_features,
> -                                              VHOST_USER_PROTOCOL_F_REPLY_ACK);
>      VhostUserMsg msg_reply;
>      int region_i, msg_i;
>  
> @@ -384,10 +382,6 @@ static int vhost_user_set_mem_table_postcopy(struct vhost_dev *dev,
>          .hdr.flags = VHOST_USER_VERSION,
>      };
>  
> -    if (reply_supported) {
> -        msg.hdr.flags |= VHOST_USER_NEED_REPLY_MASK;
> -    }
> -
>      if (u->region_rb_len < dev->mem->nregions) {
>          u->region_rb = g_renew(RAMBlock*, u->region_rb, dev->mem->nregions);
>          u->region_rb_offset = g_renew(ram_addr_t, u->region_rb_offset,
> @@ -503,10 +497,6 @@ static int vhost_user_set_mem_table_postcopy(struct vhost_dev *dev,
>          return -1;
>      }
>  
> -    if (reply_supported) {
> -        return process_message_reply(dev, &msg);
> -    }
> -
>      return 0;
>  }
>  
> @@ -519,8 +509,7 @@ static int vhost_user_set_mem_table(struct vhost_dev *dev,
>      size_t fd_num = 0;
>      bool do_postcopy = u->postcopy_listen && u->postcopy_fd.handler;
>      bool reply_supported = virtio_has_feature(dev->protocol_features,
> -                                          VHOST_USER_PROTOCOL_F_REPLY_ACK) &&
> -                                          !do_postcopy;
> +                                              VHOST_USER_PROTOCOL_F_REPLY_ACK);
>  
>      if (do_postcopy) {
>          /* Postcopy has enough differences that it's best done in it's own
> -- 
> 2.17.1
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

  reply	other threads:[~2018-10-02 17:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20181002140746eucas1p14d822ee1600d78687a73d6bf9a44e36b@eucas1p1.samsung.com>
2018-10-02 14:09 ` [Qemu-devel] [PATCH] vhost-user: Don't ask for reply on postcopy mem table set Ilya Maximets
2018-10-02 17:36   ` Dr. David Alan Gilbert [this message]
2018-10-02 19:07   ` Maxime Coquelin
2018-10-11 17:45   ` Dr. David Alan Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181002173632.GB2389@work-vm \
    --to=dgilbert@redhat.com \
    --cc=i.maximets@samsung.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.