Re: [PATCH kvmtool 04/16] virtio/vhost: Factor notify_vq_gsi()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 20, 2023 at 03:52:49PM +0100, Andre Przywara wrote:
> >  struct net_dev {
> > @@ -647,11 +644,7 @@ static void exit_vq(struct kvm *kvm, void *dev, u32 vq)
> >  	struct net_dev *ndev = dev;
> >  	struct net_dev_queue *queue = &ndev->queues[vq];
> >  
> > -	if (!is_ctrl_vq(ndev, vq) && queue->gsi) {
> 
> So this first condition here seems to be lost in the transformation. Is
> or was that never needed?

Hm, good question. The theory is that it was never needed, because the
control virtqueue is owned by kvmtool and not vhost, so we never set
queue->gsi for the control queue, in which case virtio_vhost_reset_vring()
is a nop. However in net, notify_vq_gsi() doesn't actually check which vq
this is, and does set queue->gsi for the control queue. It's a bug but
hasn't caused trouble so far because the Linux guest doesn't setup MSIs
for the control queue (it polls the queue until the command completes).
I'll add a check to notify_vq_gsi().

> Apart from that the changes look fine.
> 

Thanks for reviewing this!

Jean




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux