On Wed, 12 Jul 2023 10:06:05 +0200 Maxime Coquelin <[email protected]> wrote:
> > > > Hi, > > > > Our company's jmnd vdpa driver, which requires the > > rte_vhost_host_notifier_ctrl interface, > > replicates the problem with the following scenario: > > > > QEMU start vhost-user with modern net and blk, backend use dpdk-vdpa > > process, > > after live migration, dest QEMU deadlock with dpdk-vdpa. > > > > - QEMU sends VHOST_USER_SET_VRING_KICK to dpdk-vdpa net > > - QEMU does not need to wait for a response to this message > > - QEMU then sends VHOST_USER_SET_MEM_TABLE to dpdk-vdpa blk > > - QEMU needs to wait reply in this message > > - when dpdk-vdpa recv VHOST_USER_SET_VRING_KICK, > > - it will send VHOST_USER_BACKEND_VRING_HOST_NOTIFIER_MSG to QEMU > > - dpdk-vdpa needs to wait for a response to this message > > - QEMU will deadlock with dpdk-vdpa > > > > I tried to add a patch to the qemu community that uses a new thread to > > loop backend channel, > > But there will be some multi-threaded synchronization issues > > > > I think this is a public issue, and other backend messages take this > > into account, > > so I think this message also needs a flag to fix it. > > > > and jmnd vdpa driver will subsequently be open-sourced to the community. > > > > Thanks forthe clarification. > > Please submit this patch in the same series that introduce jmnd vDPA > driver into upstream DPDK. > > Indeed, we need to have an internal driver that makes use of this new op > for it to be accepted. Otherwise, we have no way to maintain it. Agree. Marking this patch as rejected. Not going to add a hook that is not used anywhere in the drivers in the repo. If you want to have out of tree driver, then you have to keep your own out of tree changes if it needs infrastructure changes.

