Discussion of the VIRTIO specification
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: "virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>,
	Shahaf Shuler <shahafs@nvidia.com>,
	"virtio@lists.oasis-open.org" <virtio@lists.oasis-open.org>
Subject: Re: [virtio-comment] [PATCH requirements 1/7] net-features: Add requirements document for release 1.4
Date: Tue, 6 Jun 2023 19:18:06 -0400	[thread overview]
Message-ID: <20230606191055-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB5481C7FC00041476C73C3A74DC52A@PH0PR12MB5481.namprd12.prod.outlook.com>

On Tue, Jun 06, 2023 at 11:08:12PM +0000, Parav Pandit wrote:
> 
> 
> > From: virtio-comment@lists.oasis-open.org <virtio-comment@lists.oasis-
> > open.org> On Behalf Of Michael S. Tsirkin
> > Sent: Tuesday, June 6, 2023 6:57 PM
> 
> > > It matters for requirements, so we produce design that addresses it.
> > > We don't want to add config space every growing bit map which may be
> > different between different devices.
> > 
> > then say that you want to conserve config space, that is the requirement. not
> > cvq specifically.
> >
> Well in one meeting you specifically told that requirements and design to be combined together, so it is drafted this way.
> Instead of very abstract like "conserve config space".
> 
> We can debate and change from cvq to new cfgvq as part of the journey.
> It is fine.

just don't keep listing this in each feature. my plan is to work
on cfgvq so we can keep using config space without these
limitations.

> > > >
> > > > what matters is whether they have to be synchronized with a given
> > > > queue - I get it they don't have to.
> > > They don't have to be.
> > 
> > Then say that.
> >
> I thought this is very obvious as querying counter is hundred-time slower operation than packet processing.
>  
> > > I don't see how it can be every synchronized.
> > 
> > you could program them through the vq itself.
> > 
> Do you mean in the packet transmit and receive completions itself?
> It would be too heavy to do so to mix the control fields in the data path.

maybe. but notice how you have a specific design in mind so you are jumping ahead.
you asked how we could make these synch, i told you how.
the actual point is you want to say "we don't need this synchronous",
design idea: use cvq


> > > > we don't cover migration currently don't see how this is a spec rquirement.
> > > > unless maybe it's justification for 4?
> > > True, but design need to keep this in mind if it has some touch points like of
> > #4 so when migration arrives, it has the building block in place.
> > 
> > so again, let's make sure we capture the actual spec requirement.
> >
> It is an actual spec requirement to be done and drafted in the spec.
> We may not do everything in the first phase, this are the broad requirements.
> And in design, we will say, requirement #4 is phase 2.

yes but this one I don't know what it means, spec wise.
some kind of block? what for?

> > 
> > > > so maybe it means there needs to be a way to set counters?
> > > > so there's no need to mention migration - just that it should be
> > > > possible to move counters between devices.
> > > >
> > > > > +4. If a virtio device is group member device, a group owner should be
> > able
> > > > > +   to query all the counter attributes using the admin queue command
> > which
> > > > > +   a virtio device will expose via a control vq to the driver.
> > > >
> > > >
> > > > this seems weirdly specific.
> > > > what is the actual requirement?
> > > >
> > > I don't follow the question.
> > > When a device migrates from src to dst, group owner needs to know if both
> > side underlying member device has same counter attributes or not.
> > 
> > whether it's through a command or not is not a requirement and I still do not
> > know what the requirement is.
> > what does "same counter attributes" mean? you never mentioned attributes
> > before.
> >
> I will refine this further and drop the word "attribute".
> If device support X counters, group owner should be able to know this bitmap.

i guess device might only support part of counters then?

> > > Yes, will change the GUEST surfaced from the current F_GUEST terminology of
> > the net device.
> > 
> > So?  this predates 1.x spec we never bothered changing them.
> >
> Will remove the guest wording and will change to transmit and receive.
> 
>  
> > > > > +4. le64 rx_pkts: Total packets received by the device
> > > >
> > > > including dropped ones or not?
> > > >
> > > Not including. Will add this clarification further in v1.
> > >
> > > > > +
> > > > > +### 3.1.2 Per transmit queue counters 1. le64 tx_bad_desc_errors:
> > > > > +Descriptors dropped by the device due to errors in
> > > > > +   descriptors
> > > >
> > > > since when do we drop packets on error in descriptor?
> > > > we just as likely stall ...
> > > >
> > > It is left to the device to implement on what to do on bad desc.
> > 
> > then how can you count drops? 
> A device may count the drops based on errors.
> It is counting drops based on the error it got.
> 
> > why does this even matter?
> To debug.

for debugging it's easiest if you just stop the vq, instead of drops.

> > and why on tx specifically?
> Missed the rx, will add.
> 
> > I feel addressing descriptor errors is a completely separate project.
> 
> Not sure if it is that big project.

I would have a separate debug section.

-- 
MST


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/


  reply	other threads:[~2023-06-06 23:18 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-01 22:02 [virtio-comment] [PATCH requirements 0/7] virtio net new features requirements Parav Pandit
2023-06-01 22:02 ` [virtio-comment] [PATCH requirements 1/7] net-features: Add requirements document for release 1.4 Parav Pandit
2023-06-06 22:15   ` Michael S. Tsirkin
2023-06-06 22:28     ` Parav Pandit
2023-06-06 22:56       ` Michael S. Tsirkin
2023-06-06 23:08         ` Parav Pandit
2023-06-06 23:18           ` Michael S. Tsirkin [this message]
2023-06-07  9:03             ` [virtio-comment] Re: [virtio] " Xuan Zhuo
2023-06-07 20:35           ` Michael S. Tsirkin
2023-06-07 20:39             ` Parav Pandit
2023-06-07 20:50               ` Michael S. Tsirkin
2023-06-07 20:53                 ` Parav Pandit
2023-06-07  9:31   ` Xuan Zhuo
2023-06-01 22:03 ` [virtio-comment] [PATCH requirements 2/7] net-features: Add low latency transmit queue requirements Parav Pandit
2023-06-06 22:25   ` Michael S. Tsirkin
2023-06-06 22:35     ` Parav Pandit
2023-06-01 22:03 ` [virtio-comment] [PATCH requirements 3/7] net-features: Add low latency receive " Parav Pandit
2023-06-06 22:33   ` Michael S. Tsirkin
2023-06-06 22:44     ` Parav Pandit
2023-06-06 23:03       ` Michael S. Tsirkin
2023-06-01 22:03 ` [virtio-comment] [PATCH requirements 4/7] net-features: Add notification coalescing requirements Parav Pandit
2023-06-06 22:36   ` Michael S. Tsirkin
2023-06-06 22:46     ` Parav Pandit
2023-06-06 23:06       ` Michael S. Tsirkin
2023-06-01 22:03 ` [virtio-comment] [PATCH requirements 5/7] net-features: Add n-tuple receive flow steering requirements Parav Pandit
2023-06-02  3:35   ` Heng Qi
2023-06-02  3:51     ` Parav Pandit
2023-06-02  4:39       ` [virtio-comment] Re: [virtio] " Heng Qi
2023-06-06 12:08         ` Heng Qi
2023-06-06 21:49           ` [virtio-comment] " Parav Pandit
2023-06-12 14:35             ` [virtio-comment] " Heng Qi
2023-06-12 17:26               ` [virtio-comment] " Parav Pandit
2023-06-13  2:28                 ` Heng Qi
2023-06-13  8:57                 ` [virtio-comment] " Michael S. Tsirkin
2023-06-13  9:16                   ` Cornelia Huck
2023-06-13 11:33                   ` [virtio-comment] " Parav Pandit
2023-06-07  2:47   ` Jason Wang
2023-06-07  3:22     ` Parav Pandit
2023-06-13  2:57   ` [virtio-comment] Re: [virtio] " Heng Qi
2023-06-13  4:16     ` [virtio-comment] " Parav Pandit
2023-06-13  5:04       ` [virtio-comment] " Heng Qi
2023-06-13 12:24         ` [virtio-comment] " Parav Pandit
2023-06-14  3:43           ` [virtio-comment] " Heng Qi
2023-06-14  3:48             ` [virtio-comment] " Parav Pandit
2023-06-14  3:53               ` Heng Qi
2023-06-01 22:03 ` [virtio-comment] [PATCH requirements 6/7] net-features: Add packet timestamp requirements Parav Pandit
2023-06-06 22:40   ` Michael S. Tsirkin
2023-06-06 22:51     ` Parav Pandit
2023-06-06 23:08       ` Michael S. Tsirkin
2023-06-01 22:03 ` [virtio-comment] [PATCH requirements 7/7] net-features: Add header data split requirements Parav Pandit
2023-06-06 22:41   ` Michael S. Tsirkin
2023-06-08 14:57     ` Parav Pandit
2023-06-02  3:06 ` [virtio-comment] Re: [virtio] [PATCH requirements 0/7] virtio net new features requirements Heng Qi
2023-06-06 22:49 ` [virtio-comment] " Michael S. Tsirkin
2023-06-06 22:56   ` Parav Pandit
2023-06-06 23:10     ` Michael S. Tsirkin
2023-06-07  2:49 ` Jason Wang
2023-06-07  3:33   ` Parav Pandit
  -- strict thread matches above, loose matches on Subject: below --
2023-07-24  3:34 Parav Pandit
2023-07-24  3:34 ` [virtio-comment] [PATCH requirements 1/7] net-features: Add requirements document for release 1.4 Parav Pandit
2023-08-08  8:16   ` David Edmondson
2023-08-14  5:17     ` Parav Pandit
2023-08-14 11:53       ` David Edmondson
2023-08-14 11:56   ` David Edmondson

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=20230606191055-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=parav@nvidia.com \
    --cc=shahafs@nvidia.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio@lists.oasis-open.org \
    /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