[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_m
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table. |
Date: |
Fri, 12 Aug 2016 14:38:28 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, 08/10 18:30, Michael S. Tsirkin wrote:
> From: Prerna Saxena <address@hidden>
>
> The set_mem_table command currently does not seek a reply. Hence, there is
> no easy way for a remote application to notify to QEMU when it finished
> setting up memory, or if there were errors doing so.
>
> As an example:
> (1) Qemu sends a SET_MEM_TABLE to the backend (eg, a vhost-user net
> application). SET_MEM_TABLE does not require a reply according to the spec.
> (2) Qemu commits the memory to the guest.
> (3) Guest issues an I/O operation over a new memory region which was
> configured on (1).
> (4) The application has not yet remapped the memory, but it sees the I/O
> request.
> (5) The application cannot satisfy the request because it does not know about
> those GPAs.
>
> While a guaranteed fix would require a protocol extension (committed
> separately),
> a best-effort workaround for existing applications is to send a GET_FEATURES
> message before completing the vhost_user_set_mem_table() call.
> Since GET_FEATURES requires a reply, an application that processes vhost-user
> messages synchronously would probably have completed the SET_MEM_TABLE before
> replying.
>
> Signed-off-by: Prerna Saxena <address@hidden>
> Reviewed-by: Michael S. Tsirkin <address@hidden>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
Sporadic hangs are seen with test-vhost-user after this patch:
https://travis-ci.org/qemu/qemu/builds
Reverting seems to fix it for me.
Is this a known problem?
Fam
- [Qemu-devel] [PULL 0/3] virtio/vhost: fixes, Michael S. Tsirkin, 2016/08/10
- [Qemu-devel] [PULL 2/3] vhost-user: Introduce a new protocol feature REPLY_ACK., Michael S. Tsirkin, 2016/08/10
- [Qemu-devel] [PULL 1/3] vhost: check for vhost_ops before using., Michael S. Tsirkin, 2016/08/10
- [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Michael S. Tsirkin, 2016/08/10
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table.,
Fam Zheng <=
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Prerna Saxena, 2016/08/12
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Marc-André Lureau, 2016/08/12
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Peter Maydell, 2016/08/12
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Michael S. Tsirkin, 2016/08/12
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Peter Maydell, 2016/08/15
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Michael S. Tsirkin, 2016/08/12
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Marc-André Lureau, 2016/08/12
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Michael S. Tsirkin, 2016/08/12
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Marc-André Lureau, 2016/08/13
- Re: [Qemu-devel] [PULL 3/3] vhost-user: Attempt to fix a race with set_mem_table., Michael S. Tsirkin, 2016/08/13