[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <92ca5ed1-629d-4dc3-85fc-f1c6299a42ba@nvidia.com>
Date: Thu, 25 Sep 2025 16:15:19 +0530
From: Parav Pandit <parav@...dia.com>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: Dan Jurgens <danielj@...dia.com>, Jason Wang <jasowang@...hat.com>,
netdev@...r.kernel.org, alex.williamson@...hat.com, pabeni@...hat.com,
virtualization@...ts.linux.dev, shshitrit@...dia.com, yohadt@...dia.com,
xuanzhuo@...ux.alibaba.com, eperezma@...hat.com,
shameerali.kolothum.thodi@...wei.com, jgg@...pe.ca, kevin.tian@...el.com,
kuba@...nel.org, andrew+netdev@...n.ch, edumazet@...gle.com,
Yishai Hadas <yishaih@...dia.com>
Subject: Re: [PATCH net-next v3 01/11] virtio-pci: Expose generic device
capability operations
On 25-09-2025 04:05 pm, Michael S. Tsirkin wrote:
> On Thu, Sep 25, 2025 at 03:21:38PM +0530, Parav Pandit wrote:
>> Function pointers are there for multiple transports to implement their own
>> implementation.
> My understanding is that you want to use flow control admin commands
> in virtio net, without making it depend on virtio pci.
No flow control in vnet.
> This why the callbacks are here. Is that right?
No. callbacks are there so that transport agnostic layer can invoke it,
which is drivers/virtio/virtio.c.
And transport specific code stays in transport layer, which is presently
following config_ops design.
>
> That is fair enough, but it looks like every new command then
> needs a lot of boilerplate code with a callback a wrapper and
> a transport implementation.
Not really. I dont see any callbacks or wrapper in current proposed patches.
All it has is transport specific implementation of admin commands.
>
>
> Why not just put all this code in virtio core? It looks like the
> transport just needs to expose an API to find the admin vq.
Can you please be specific of which line in the current code can be
moved to virtio core?
When the spec was drafted, _one_ was thinking of admin command transport
over non admin vq also.
So current implementation of letting transport decide on how to
transport a command seems right to me.
But sure, if you can pin point the lines of code that can be shifted to
generic layer, that would be good.
Powered by blists - more mailing lists