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)