[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250925074814-mutt-send-email-mst@kernel.org>
Date: Thu, 25 Sep 2025 07:49:40 -0400
From: "Michael S. Tsirkin" <mst@...hat.com>
To: Parav Pandit <parav@...dia.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 Thu, Sep 25, 2025 at 04:15:19PM +0530, Parav Pandit wrote:
>
> 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.
I imagine a get_admin_vq operation in config_ops. The rest of the
code seems to be transport independent and could be part of
the core. WDYT?
--
MST
Powered by blists - more mailing lists