public inbox for virtio-dev@lists.linux.dev
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: Heng Qi <hengqi@linux.alibaba.com>,
	"virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>,
	"virtio-dev@lists.oasis-open.org"
	<virtio-dev@lists.oasis-open.org>,
	Jason Wang <jasowang@redhat.com>,
	Yuri Benditovich <yuri.benditovich@daynix.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	Cornelia Huck <cohuck@redhat.com>
Subject: [virtio-dev] Re: [virtio-comment] Re: [PATCH v18] virtio-net: support inner header hash
Date: Thu, 22 Jun 2023 12:28:17 -0400	[thread overview]
Message-ID: <20230622120756-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB54815D6D07A49CE775620088DC22A@PH0PR12MB5481.namprd12.prod.outlook.com>

On Thu, Jun 22, 2023 at 12:32:33PM +0000, Parav Pandit wrote:
> 
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Thursday, June 22, 2023 2:23 AM
> > 
> > On Wed, Jun 21, 2023 at 08:52:04PM +0000, Parav Pandit wrote:
> > >
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > Sent: Wednesday, June 21, 2023 4:38 PM
> > >
> > > > > > And the field is RO so no memory cost to exposing it in all VFs.
> > > > > Two structures do not bring the asymmetry.
> > > > > Accessing current and enabled fields via two different mechanism
> > > > > is bringing
> > > > the asymmetry.
> > > >
> > > > I guess it's a matter of taste, but it is clearly more consistent
> > > > with other hash things, to which it's very similar.
> > > >
> > > This is consistent with new commands we define including notification
> > coalescing whose GET is not coming config space.
> > 
> > But there GET just reports the current state. Not the read only capability. So
> > there would be cost per VF to keep it in config space.
> > This one is RO no cost per VF. Let's make it convenient?
> >
> And each VF can have different value hence requires per VF storage in the device.
>  
> > > >
> > > > Nah, config space is too convenient when we can live with its
> > > > limitations. I don't thin kwe prefer not to keep growing it.
> > > > For some things such as this one it's perfect.
> > > >
> > > Fields are different between different devices.
> > 
> > Not sure what's the implication?
> Implication is device needs to store this in always available on-chip memory which is not good.

Oh by devices you mean VFs. Now I get your motivation, at least. Thanks.

> > 
> > > > For example, for migration driver might want to validate that two
> > > > devices have same capability. doing it without dma is nicer.
> > > >
> > > A migration driver for real world scenario, will almost have to use the dma for
> > amount of data it needs to exchange.
> > 
> > Not migration itself, provisioning.
> >
> Provisioning driver usually do not attach to the member device directly.
> This requires device reset, followed by reaching _DRIVER stage, querying features etc and config area.
> And unbinding it and second reset by member driver. Ugh.
> Provisioning driver also needs to get the state or capabilities even when member driver is already attached.
> So config space is not much a gain either.
>

Absolutely, that's why we have admin commands.  I was hoping for an
admin command that basically gets/sets RO fields of the config space.

> > > > Another example, future admin transport will have ability to
> > > > provision devices by supplying their config space.
> > > > This will include this capability automatically, if instead we hide
> > > > it in a command we need to do extra custom work.
> > > >
> > > > > So we do not prefer to keep growing the config space anymore,
> > > > > hence GET is the right approach to me.
> > > >
> > > > Heh I know you hate config space. Let it go, stop wasting time
> > > > arguing about the same thing on every turn and instead help define
> > > > admin transport to solve it
> > >
> > > This was discussed many times, a driver to have a direct (non-intercepted by
> > owner device) channel to device.
> > > If you mean this non-intercepted channel as admin transport, fine.
> > 
> > we can do that, sure.
> > 
> > > If you mean this is intercepted and it is going over admin cmd, then it is of no
> > use for all future interfaces.
> > >
> > > We discussed this in thread with you and Jason.
> > > I provided concrete example with size and device provisioning math too and
> > other example of multi-physical address VQ.
> > > So transporting register by register over some admin transport is sub-optimal.
> > >
> > 
> > Not register by register, we can send all of config space as long as it's RO. This
> > field is.
> >
> It is RO in context of one member device, but every VF can have different value.
> The device will never know if one will use new cmdvq to access or some old driver will use without it.
> And hence, it always needs to provision it on onchip memory for backward compatibility.
> 
> Instead of decision point being RO vs RW, 
> any new fields via cmdvq and existing fields stays in cfg space, give predictable behavior to size the member devices in the system.
> Once the cmdvq is available, we can get rid of GET command used in this version for new future features.
> Till that arrives, GET command is the efficient way.

I understand.  I just don't much like these patchwork solutions though.
And I don't like that we will pay by not having a single conherent
way to provision and query capabilities through config space,
instead just for this thing we will have a special thing.

Why don't we focus on a work on a full solution? Just don't implement
this thing in your devices meanwhile until we do.

> > --
> > MST


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  parent reply	other threads:[~2023-06-22 16:28 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-21 13:50 [virtio-dev] [PATCH v18] virtio-net: support inner header hash Heng Qi
2023-06-21 15:38 ` [virtio-dev] " Michael S. Tsirkin
2023-06-21 16:46   ` [virtio-dev] Re: [virtio-comment] " Heng Qi
2023-06-21 17:52     ` [virtio-dev] " Parav Pandit
2023-06-21 19:25       ` [virtio-dev] " Michael S. Tsirkin
2023-06-21 19:28         ` [virtio-dev] " Parav Pandit
2023-06-21 19:35           ` [virtio-dev] " Michael S. Tsirkin
2023-06-21 19:39             ` [virtio-dev] " Parav Pandit
2023-06-21 19:45               ` [virtio-dev] " Michael S. Tsirkin
2023-06-22  0:46             ` Heng Qi
2023-06-21 19:32     ` Michael S. Tsirkin
2023-06-21 19:37       ` [virtio-dev] " Parav Pandit
2023-06-21 20:16         ` [virtio-dev] " Michael S. Tsirkin
2023-06-21 20:24           ` [virtio-dev] " Parav Pandit
2023-06-21 20:37             ` [virtio-dev] " Michael S. Tsirkin
2023-06-21 20:52               ` [virtio-dev] " Parav Pandit
2023-06-22  0:59                 ` Heng Qi
2023-06-22  1:04                   ` Parav Pandit
2023-06-22  1:17                     ` Heng Qi
2023-06-22  6:23                 ` [virtio-dev] " Michael S. Tsirkin
2023-06-22 12:32                   ` [virtio-dev] " Parav Pandit
2023-06-22 13:42                     ` [virtio-dev] " Heng Qi
2023-06-22 14:27                       ` [virtio-dev] " Parav Pandit
2023-06-22 16:46                         ` [virtio-dev] " Michael S. Tsirkin
2023-06-22 16:54                           ` [virtio-dev] " Parav Pandit
2023-06-22 17:03                             ` [virtio-dev] " Michael S. Tsirkin
2023-06-22 17:11                               ` [virtio-dev] " Parav Pandit
2023-06-22 17:28                                 ` [virtio-dev] " Michael S. Tsirkin
2023-06-22 17:58                                   ` [virtio-dev] " Parav Pandit
2023-06-28 10:41                                     ` [virtio-dev] " Michael S. Tsirkin
2023-06-28 16:46                                       ` [virtio-dev] " Parav Pandit
2023-06-28 17:08                                         ` [virtio-dev] " Michael S. Tsirkin
2023-06-22 16:28                     ` Michael S. Tsirkin [this message]
2023-06-22 16:42                       ` [virtio-dev] " Parav Pandit
2023-06-22 16:54                         ` [virtio-dev] " Michael S. Tsirkin
2023-06-22 17:04                           ` Parav Pandit
2023-06-22 17:14                             ` Michael S. Tsirkin
2023-06-22 17:20                               ` Parav Pandit
2023-06-22 17:43                                 ` Michael S. Tsirkin
2023-06-22 18:12                                   ` Parav Pandit
2023-06-22 18:36                                     ` Michael S. Tsirkin
2023-06-22 17:11                     ` Michael S. Tsirkin
2023-06-22 17:15                       ` [virtio-dev] " Parav Pandit
2023-06-22 17:37                         ` [virtio-dev] " Michael S. Tsirkin
2023-06-22 17:51                           ` Parav Pandit
2023-06-22 18:11                             ` Michael S. Tsirkin
2023-06-22 18:17                               ` Parav Pandit
2023-06-22 18:40                                 ` Michael S. Tsirkin
2023-06-22 18:50                                   ` [virtio-dev] RE: [virtio-comment] " Parav Pandit
2023-06-22 19:02                                     ` [virtio-dev] " Michael S. Tsirkin
2023-06-22 20:27                                       ` [virtio-dev] " Parav Pandit
2023-06-28 10:47                                         ` [virtio-dev] " Michael S. Tsirkin
2023-06-22  0:41       ` Heng Qi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230622120756-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=hengqi@linux.alibaba.com \
    --cc=jasowang@redhat.com \
    --cc=parav@nvidia.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=xuanzhuo@linux.alibaba.com \
    --cc=yuri.benditovich@daynix.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox