>-----Original Message----- >From: Andre Przywara [mailto:andre.przywara@xxxxxxx] >Sent: Tuesday, July 21, 2015 5:45 PM >To: Du, Fan; Will Deacon >Cc: kvm@xxxxxxxxxxxxxxx; Marc Zyngier >Subject: Re: [PATCHv3 2/2] kvmtool: Restrict virtio queue number to 1 when >vhost on > >Hi, > >On 21/07/15 07:18, Fan Du wrote: >> vhost kernel driver does not support mutiple queue yet, >> Tweak queue number will fail with "--net mode=tap,vhost=1,mq=2" >> as below when lkvm trying to set ring kick fd for queue 2: >> >> VHOST_SET_VRING_KICK failed: No buffer space available >> >> Error on this scenario, and overide with the default one queue >> configuration. > >I don't like the idea of overriding an explicitly given command line >parameter (mq=2). >So why do you provide mq=2 in the first place if you know that the >kernel does not support it? On the contrary, the help message doesn't explicitly state mq is not supported when vhost=1, what's the insanity to supply with mq option?! >I'd rather see the error message to be more descriptive in that case. >That would help the user to understand what's going on, also it would >still work should the kernel ever support multiple queues in the future. I will check how it could be support, either in user land or kernel. So let's drop this patch. >Cheers, >Andre. > >> >> Signed-off-by: Fan Du <fan.du@xxxxxxxxx> >> --- >> virtio/net.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/virtio/net.c b/virtio/net.c >> index d343615..21a80f3 100644 >> --- a/virtio/net.c >> +++ b/virtio/net.c >> @@ -730,6 +730,10 @@ static int set_net_param(struct kvm *kvm, struct >virtio_net_params *p, >> p->mq = atoi(val); >> } else >> die("Unknown network parameter %s", param); >> + if (p->vhost && p->mq > 1) { >> + p->mq = 1; >> + pr_err("vhost does not support mq yet, overide mq to 1."); >> + } >> >> return 0; >> } >> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html