Got it. Thanks, I missed that line while reading the spec. Is 
docs/specs/vhost-user.txt the official spec ?

--
- Thanks
char * (*shesha) (uint64_t cache, uint8_t F00D)
{ return 0x0000C0DE; }

From: "Michael S. Tsirkin" <m...@redhat.com<mailto:m...@redhat.com>>
Date: Sunday, January 17, 2016 at 3:23 AM
To: Cisco Employee <she...@cisco.com<mailto:she...@cisco.com>>
Cc: "qemu-devel@nongnu.org<mailto:qemu-devel@nongnu.org>" 
<qemu-devel@nongnu.org<mailto:qemu-devel@nongnu.org>>
Subject: Re: [PATCH] vhost-user: Slave crashes as Master unmaps vrings during 
guest reboot

On Fri, Jan 15, 2016 at 12:12:43PM -0800, Shesha Sreenivasamurthy wrote:
Problem:
--------
If a guest has vhost-user enabled, then on reboot vhost_virtqueue_stop
is invoked. This unmaps vring memory mappings. However, it will not give
any indication to the underlying DPDK slave application about it.
Therefore, a pollmode DPDK driver tries to read the ring to check for
packets and segfaults.

The spec currently says:
Client must start ring upon receiving a kick (that is, detecting that file
descriptor is readable) on the descriptor specified by
VHOST_USER_SET_VRING_KICK, and stop ring upon receiving
VHOST_USER_GET_VRING_BASE.

Why isn't this sufficient?

Solution:
----------
VHOST_USER_RESET_OWNER API is issued by QEMU so that DPDK slave
application is informed that mappings will be soon gone so that
it can take necessary steps.
Shesha Sreenivasamurthy (1):
   vhost-user: Slave crashes as Master unmaps vrings during guest reboot
  hw/virtio/vhost.c | 5 +++++
  1 file changed, 5 insertions(+)
--
1.9.5 (Apple Git-50.3)

Reply via email to