From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: Jason Wang <jasowang@redhat.com>,
"virtio-comment@lists.oasis-open.org"
<virtio-comment@lists.oasis-open.org>,
"cohuck@redhat.com" <cohuck@redhat.com>,
"sburla@marvell.com" <sburla@marvell.com>,
Shahaf Shuler <shahafs@nvidia.com>,
"si-wei.liu@oracle.com" <si-wei.liu@oracle.com>,
"xuanzhuo@linux.alibaba.com" <xuanzhuo@linux.alibaba.com>,
Heng Qi <hengqi@linux.alibaba.com>
Subject: Re: [virtio-comment] Re: [PATCH v6 2/5] virtio-net: Add flow filter capabilities read commands
Date: Fri, 24 Nov 2023 04:13:25 -0500 [thread overview]
Message-ID: <20231124040545-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB5481F5BC8384D1C5B4284A7EDCB8A@PH0PR12MB5481.namprd12.prod.outlook.com>
On Fri, Nov 24, 2023 at 06:41:11AM +0000, Parav Pandit wrote:
>
> > From: Jason Wang <jasowang@redhat.com>
> > Sent: Friday, November 24, 2023 11:32 AM
>
>
> > Just to clarify my point, what's I'm saying is
> >
> > 1) For CVQ, it is used to send the commands to the device. It's not good to use
> > transport to send those commands
> This is not what is proposed.
>
> CVQ is proposed to exchange capabilities and configuration between driver and device.
> (not to transport to send commands)
>
> > 2) The configuration space is the place to advertise the capabilities, e.g what
> > kind of commands could the device accept.
> >
> and it is not efficient and not used anymore with 1.3 and higher.
> They are exchanged using single get/set interface where device does not need to do special cross synchronization between what is exposed via interface_1 (config space) and control via interface_2 (cvq).
Why because you wrote that google doc? There never was any concensus on this.
> > 2) doesn't conflict with 1)
> >
> CVQ does not conflict with anything as it stands today in 1.3.
>
> > And we are discussing the provisioning which is more about 2) but not 1)
> > here.
> Provisioning will set the device and device will run based on what is being set.
> If MSIX is provisioned, it will show up in MSIX attribute.
> If the BAR region size is provisioned it will show in PCI MMIO size.
> If 1.3 legacy mac address configured, shows up in virtio_net_config.
> if 1.3 rss configuration, shows up in virtio net config
>
> if 1.3 stats configuration, shows up in stats.
> If 1.4 flow filters provisioned shows in flow filter caps.
>
> The primary tenet is: config space contains only the necessary driver bootstap fields.
I don't want to argue what bootstrap is. Please use existing spec
terminology. initialization time is a better definition we already use
in spec - it is clearly whatever info driver needs during probe and
whatever subsystem specific initialization callback is. For example,
for network - ndo_open.
> The bright line in based on this usage: bootstap or not.
> If its runtime, sure have it over CVQ.
> Following the nice tenet of B.2 of the spec snippet: "Device configuration space should only be used for initialization-time parameters"
> That’s it.
> And everyone is already aligned to it.
Absolutely. Specifically, when do you expect driver to probe these
caps? As you yourself explained, it has to do it before ethtool
calls - that clearly means it will do it in probe.
To me this simply screams "initialization time".
> >
> > That's it.
> >
> > Thanks
> >
> >
> > >
> > > > Worst case devices can lie, it is not clear worrying about
> > > > statistics when provisioning is important enough.
> > > Device statistics cannot be broken when migrating.
> > >
> > > > And
> > > > you are now under the impression everyone got convinced when in
> > > > reality everyone just got tired of arguing. This is not a good pattern to try
> > and repeat.
> > > > Let me repeat the relevant part here for
> > > > you:
> > > >
> > > > So why shouldn’t we just add some transport VQ on the owner
> > > > device to transport the SIOV device’s configuration?
> > > >
> > > > Ans:
> > > > Such addition means that hardware vendors need to
> > > > build runtime configurations in 4 different ways.
> > > > One way using CVQ for PCI PF and VFs
> > > > 2nd way as backward compatible SIOV using owner’s
> > > > admin VQ
> > > > 3rd way using SIOV’s own CVQ channel for TDISP
> > > > 4th way using mix of backward compatible and secure
> > > > and efficient way using #2 and #3.
> > > >
> > > >
> > > > This is just a straw-man argument. No - we make a capability
> > > > optional,
> > > Capabilities are not optional.
> > > The design has undergone carefully review to ensure that driver honors the
> > capability, and it is migratable both.
> > >
> > > You dint explain why capability should be optional.
> > > The first patch has defined how the capabilities are used by the driver.
> > >
> > > > we
> > > > strongly suggest that *drivers* support both old and new mechanism,
> > > > and then *devices* will only implement what's required.
> > > There are other examples in the same document that makes things worst
> > with old and new.
> > >
> > > Also there is literally no way to enforce that driver supports both and new. It
> > is just sounds like an excuse to force infinite config space.
> > >
> > > The method proposed here is elegant and clearly promote one way to do
> > things for driver and device with predictability.
> > >
> > >
>
This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.
In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.
Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/
next prev parent reply other threads:[~2023-11-24 9:13 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-10 12:38 [virtio-comment] [PATCH v6 0/5] virtio-net: Support flow filter for receive packets Parav Pandit
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 1/5] virtio-net: Add theory of operation for flow filter Parav Pandit
2023-11-22 13:22 ` [virtio-comment] " Cornelia Huck
2023-11-22 13:30 ` [virtio-comment] " Parav Pandit
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 2/5] virtio-net: Add flow filter capabilities read commands Parav Pandit
2023-11-22 13:38 ` [virtio-comment] " Cornelia Huck
2023-11-22 13:44 ` [virtio-comment] " Parav Pandit
2023-11-22 14:02 ` [virtio-comment] " Michael S. Tsirkin
2023-11-22 14:10 ` [virtio-comment] " Parav Pandit
2023-11-22 14:51 ` [virtio-comment] " Michael S. Tsirkin
2023-11-22 15:00 ` [virtio-comment] " Parav Pandit
2023-11-24 4:02 ` [virtio-comment] " Jason Wang
2023-11-24 4:13 ` Parav Pandit
2023-11-24 5:31 ` Michael S. Tsirkin
2023-11-24 5:40 ` Parav Pandit
2023-11-24 6:02 ` Jason Wang
2023-11-24 6:41 ` Parav Pandit
2023-11-24 9:13 ` Michael S. Tsirkin [this message]
2023-11-27 10:19 ` Parav Pandit
2023-11-27 11:10 ` Michael S. Tsirkin
2023-11-27 11:12 ` Parav Pandit
2023-11-27 12:52 ` Michael S. Tsirkin
2023-11-27 12:58 ` Parav Pandit
2023-11-27 13:05 ` Michael S. Tsirkin
2023-11-24 6:18 ` Michael S. Tsirkin
2023-11-24 6:31 ` Parav Pandit
2023-11-24 11:33 ` Michael S. Tsirkin
2023-11-27 10:19 ` Parav Pandit
2023-11-27 11:28 ` Michael S. Tsirkin
2023-11-27 11:40 ` Parav Pandit
2023-11-27 11:47 ` Michael S. Tsirkin
2023-11-27 11:54 ` Parav Pandit
2023-11-27 12:42 ` Michael S. Tsirkin
2023-11-27 13:05 ` Parav Pandit
2023-11-27 13:12 ` Michael S. Tsirkin
2023-11-27 13:06 ` Cornelia Huck
2023-11-27 13:14 ` Michael S. Tsirkin
2023-11-24 6:03 ` Jason Wang
2023-11-24 5:32 ` Michael S. Tsirkin
2023-11-24 5:53 ` Parav Pandit
2023-11-24 6:06 ` Michael S. Tsirkin
2023-11-24 6:27 ` Parav Pandit
2023-11-24 10:27 ` Michael S. Tsirkin
2023-11-27 10:19 ` Parav Pandit
2023-11-27 11:37 ` Michael S. Tsirkin
2023-11-27 11:47 ` Parav Pandit
2023-12-12 15:52 ` Michael S. Tsirkin
2023-12-13 4:48 ` Jason Wang
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 3/5] virtio-net: Add flow filter group life cycle commands Parav Pandit
2023-11-22 13:42 ` [virtio-comment] " Cornelia Huck
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 4/5] virtio-net: Add flow filter match entry, action and requests Parav Pandit
2023-11-22 13:52 ` [virtio-comment] " Cornelia Huck
2023-11-10 12:38 ` [virtio-comment] [PATCH v6 5/5] virtio-net: Add flow filter device and driver requirements Parav Pandit
2023-11-20 6:47 ` [virtio-comment] RE: [PATCH v6 0/5] virtio-net: Support flow filter for receive packets Parav Pandit
2023-11-21 12:54 ` Parav Pandit
2023-11-22 11:26 ` Cornelia Huck
2023-11-22 12:03 ` Parav Pandit
2023-11-23 10:22 ` Parav Pandit
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=20231124040545-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=sburla@marvell.com \
--cc=shahafs@nvidia.com \
--cc=si-wei.liu@oracle.com \
--cc=virtio-comment@lists.oasis-open.org \
--cc=xuanzhuo@linux.alibaba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.