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)