Hi, yuanhan: > -----Original Message----- > From: Yuanhan Liu [mailto:yuanhan....@linux.intel.com] > Sent: Thursday, April 27, 2017 4:12 PM > To: Yang, Zhiyong <zhiyong.y...@intel.com> > Cc: dev@dpdk.org; maxime.coque...@redhat.com; Loftus, Ciara > <ciara.lof...@intel.com> > Subject: Re: [PATCH] vhost: fix MQ fails to startup > > On Thu, Apr 27, 2017 at 02:34:53PM +0800, Zhiyong Yang wrote: > > vhost since dpdk17.02 + qemu2.7 and above will cause failures of new > > connection when negotiating to set MQ. (one queue pair works > > well).Because there exist some bugs in qemu code when introducing > > VHOST_USER_PROTOCOL_F_REPLY_ACK to qemu. when dealing with the > vhost > > message VHOST_USER_SET_MEM_TABLE for the second time, qemu indeed > > doesn't send the messge (The message needs to be sent only once)but > > still will be waiting for dpdk's reply ack, then, qemu is always > > freezing. DPDK code works in the right way. But the feature > > VHOST_USER_PROTOCOL_F_REPLY_ACK has to be disabled by default at the > > dpdk side in order to avoid the feature support of DPDK + qemu at the > > same time. if doing like that, MQ can works well. > ... > > Once Qemu bugs > > have been fixed and upstreamed, we can enable it. > > As I have said, we should not enable it again, because there are already few > buggy QEMU releases out. We should make sure DPDK also works well with > them.
Ok. > > > Fixes: 73c8f9f69c6c("vhost: introduce reply ack feature") > > That commit does nothing wrong. It's QEMU being buggy. That said, I will not > add such fixline. I will also use "workaround" instead of "fix" in the title. > Ok. I also think dpdk works in the right way. But I'm using "fix" in the title here. Your suggestion is good. > Also, this patch should be backported to stable release. So, you should > add: > Cc: sta...@dpdk.org > Ok > Besides, please reformat you commit log a bit. For example, add space after > punctuation, use paragraph as possible, etc. Ok. > > > > > Reported-by: Loftus, Ciara <ciara.lof...@intel.com> > > No "," is allowed. > Ok > > Signed-off-by: Zhiyong Yang <zhiyong.y...@intel.com> > > --- > > lib/librte_vhost/vhost_user.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/lib/librte_vhost/vhost_user.h > > b/lib/librte_vhost/vhost_user.h index 2ba22db..a3d2900 100644 > > --- a/lib/librte_vhost/vhost_user.h > > +++ b/lib/librte_vhost/vhost_user.h > > @@ -52,7 +52,7 @@ > > #define VHOST_USER_PROTOCOL_FEATURES ((1ULL << > VHOST_USER_PROTOCOL_F_MQ) | \ > > (1ULL << > VHOST_USER_PROTOCOL_F_LOG_SHMFD) |\ > > (1ULL << > VHOST_USER_PROTOCOL_F_RARP) | \ > > - (1ULL << > VHOST_USER_PROTOCOL_F_REPLY_ACK) | \ > > + (0ULL << > VHOST_USER_PROTOCOL_F_REPLY_ACK) | \ > > (1ULL << > VHOST_USER_PROTOCOL_F_NET_MTU)) > > I think you might want to add a simple comment here, something like > > /* > * disable REPLY_ACK feature to workaround the buggy QEMU > implementation. > * Proved buggy QEMU includes v2.7 - v2.9. > */ > > So, please send v2? > Ok. I will send it later. Zhiyong > --yliu