Re: [PATCH] Do not name control queue for virtio-net
From: Michael S. Tsirkin
Date: Thu Sep 22 2022 - 05:16:18 EST
On Sun, Sep 18, 2022 at 05:00:20PM +0800, Junbo wrote:
> hi Michael
>
> in virtio-net.c
> /* Parameters for control virtqueue, if any */
> if (vi->has_cvq) {
> callbacks[total_vqs - 1] = NULL;
> names[total_vqs - 1] = "control";
> }
>
> I think the Author who write the code maybe want to name the control queue to
> 'virtioX-control',
That would be me I suspect ;)
> but it never worked, we can see the name still be
> 'virtioX-config' in /proc/interrupts,
Nope, what you see in /proc/interrupts are the interrupts, not the queue
name.
> for example
> 43: 0 0 0 0 0 0
> 0 0 PCI-MSI-edge virtio0-config
> 44: 64 0 0 0 0 0
> 1845 0 PCI-MSI-edge virtio0-input.0
> 45: 1 0 0 0 0 0
> 0 0 PCI-MSI-edge virtio0-output.0
>
> Because in function vp_request_msix_vectors, it just allocate 'xxxx-config' to
> every virtio devices, even the virtio device do not need it.
Oh yes, we can fix that. The result will be this line disappearing for
devices without a config interrupt. Not for net though, that
generally uses a config interrupt for things like link
state detection.
> in /proc/
> interrupts, we can see that each virtio device's first interrupt always named
> 'virtioX-config'.
>
> So I think it's better to not explicitly give the "control" here, it's
> useless...
it's used for debugging.