On Fri, Jun 18, 2021 at 04:26:25PM +0900, Keiichi Watanabe wrote: > When we use vhost-user backend on the host, MSI-X vector should be set > so that the vmm can get an irq FD and send it to the backend device > process with vhost-user protocol. > Since whether the vector is set for a queue is determined depending on > the queue has a callback, this commit sets an empty callback for > virtio-net's control queue. > > Signed-off-by: Keiichi Watanabe <keiichiw@xxxxxxxxxxxx> I'm confused by this explanation. If the vmm wants to get an interrupt it can do so - why change the guest driver? > --- > drivers/net/virtio_net.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index 11f722460513..002e3695d4b3 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -2696,6 +2696,11 @@ static void virtnet_del_vqs(struct virtnet_info *vi) > virtnet_free_queues(vi); > } > > +static void virtnet_ctrlq_done(struct virtqueue *rvq) > +{ > + /* Do nothing */ > +} > + > /* How large should a single buffer be so a queue full of these can fit at > * least one full packet? > * Logic below assumes the mergeable buffer header is used. > @@ -2748,7 +2753,7 @@ static int virtnet_find_vqs(struct virtnet_info *vi) > > /* Parameters for control virtqueue, if any */ > if (vi->has_cvq) { > - callbacks[total_vqs - 1] = NULL; > + callbacks[total_vqs - 1] = virtnet_ctrlq_done; > names[total_vqs - 1] = "control"; > } > > -- > 2.32.0.288.g62a8d224e6-goog _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization