All of lore.kernel.org
 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>,
	Xuan Zhuo <xuanzhuo@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>,
	Alvaro Karsz <alvaro.karsz@solid-run.com>
Subject: Re: [virtio-comment] [PATCH] virtio-net: support per-queue coalescing moderation
Date: Wed, 8 Feb 2023 09:48:01 -0500	[thread overview]
Message-ID: <20230208094504-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB5481C4BEC03ACB994794AB51DCD89@PH0PR12MB5481.namprd12.prod.outlook.com>

On Wed, Feb 08, 2023 at 02:44:37PM +0000, Parav Pandit wrote:
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Wednesday, February 8, 2023 9:43 AM
> > 
> > On Wed, Feb 08, 2023 at 02:37:55PM +0000, Parav Pandit wrote:
> > >
> > > > From: Michael S. Tsirkin <mst@redhat.com>
> > > > Sent: Wednesday, February 8, 2023 9:18 AM
> > > >
> > > > On Wed, Feb 08, 2023 at 07:30:34PM +0800, Heng Qi wrote:
> > > > > > I see two options.
> > > > > > 1. Just have per VQ params. Software has the full knowledge of
> > > > > > in which it is
> > > > operating, and state remains at software level.
> > > > > > This effectively achieves both the mode.
> > > > > >
> > > > > > 2. Have a mode cmd,
> > > > > > Mode = (a) per device or (b) per VQ (c) disable After the mode
> > > > > > is set, driver can set per device or per VQ.
> > > > >
> > > > > I find this more clear.
> > > > >
> > > > > Thanks.
> > > > >
> > > >
> > > > Rereading this I think I misunderstood the proposal.
> > > > Now we are burning memory on maintaining mode, and this information
> > > > is duplicated.
> > > >
> > > It is not maintained in the pci resident memory, so it doesn't hurt.
> > >
> > > > I'd say let's just add a new command COAL_QUEUE_SET with vqn as
> > parameter.
> > > > Existing commands are simply defined as a shortcut to running
> > > > COAL_QUEUE_SET on all tx/rx queues respectively.
> > > >
> > > > Latest command dictates the parameters. To disable just set
> > > > everything to 0 (btw we should make this explicit in the spec, but it can be
> > guessed from:
> > > > Upon reset, a device MUST initialize all coalescing parameters to 0.
> > > > )
> > > >
> > > Switching between the modes (per q vs per device) implicitly is ambiguous
> > and it only means device may need to iterate.
> > 
> > hmm i feel it's only ambiguous because i failed to explain in well.
> > 
> > > This state is either better maintained in sw by always having per vq or have
> > clearly defined mode of what device should do.
> > >
> > > Per Q is very common even for several years old devices.
> > > Last time I counted, there were at least 15 such devices supporting it.
> > >
> > > So actual usage wise, I practically see that most implementations will end up
> > with per vq mode.
> > > I like to hear from Heng or Alvaro if they see any use of per device.
> > 
> > 
> > Right so given this, most devices will be in per queue mode all the time. why do
> > you want a mode then? just keep per queue.
> > existing commands are kept around for compat but internally just translate to
> > per-queue.
> Since the space is not released, do we need to keep the compat?

It's been accepted for half a year so we can't say for sure no one built this.
The way I propose is just a bit of firmware on device that scans all
queues and copies same parameters everywhere. Seems easier than
worrying about this, and we get disabling coalescing for free
which you wanted. With an extra mode its extra logic in the device
fast path. Maybe it's cheap on hardware side but in software it's an
extra branch, not free.



-- 
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-02-08 14:48 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-07 11:16 [virtio-comment] [PATCH] virtio-net: support per-queue coalescing moderation Heng Qi
2023-02-07 11:25 ` [virtio-comment] " Alvaro Karsz
2023-02-07 11:50   ` Xuan Zhuo
2023-02-07 12:51     ` Parav Pandit
2023-02-07 14:29       ` [virtio-dev] " Michael S. Tsirkin
2023-02-07 14:40         ` Alvaro Karsz
2023-02-07 14:48           ` Michael S. Tsirkin
2023-02-07 14:56             ` Alvaro Karsz
2023-02-07 15:09               ` Michael S. Tsirkin
2023-02-07 15:25                 ` Parav Pandit
2023-02-07 15:28                   ` [virtio-comment] " Michael S. Tsirkin
2023-02-07 15:30                     ` [virtio-comment] " Parav Pandit
2023-02-08  1:58                     ` [virtio-comment] " Xuan Zhuo
2023-02-08  2:20         ` Heng Qi
2023-02-08  9:56           ` Michael S. Tsirkin
2023-02-08 13:51             ` Parav Pandit
2023-02-07 14:06 ` [virtio-comment] " Michael S. Tsirkin
2023-02-07 14:22   ` Michael S. Tsirkin
2023-02-08  1:45   ` Xuan Zhuo
2023-02-08  2:20     ` Parav Pandit
2023-02-08  2:24       ` Xuan Zhuo
2023-02-08  2:43         ` Parav Pandit
2023-02-08 10:07           ` Michael S. Tsirkin
2023-02-08 13:52             ` [virtio-dev] " Parav Pandit
2023-02-08 11:30           ` Heng Qi
2023-02-08 14:17             ` [virtio-dev] " Michael S. Tsirkin
2023-02-08 14:37               ` Parav Pandit
2023-02-08 14:42                 ` [virtio-dev] " Michael S. Tsirkin
2023-02-08 14:44                   ` Parav Pandit
2023-02-08 14:48                     ` Michael S. Tsirkin [this message]
2023-02-08 15:04                       ` Parav Pandit
2023-02-08 15:20                         ` Michael S. Tsirkin
2023-02-08 15:27                           ` Parav Pandit
2023-02-08 19:23                             ` [virtio-dev] " Parav Pandit
2023-02-08 20:48                               ` Michael S. Tsirkin
2023-02-08 17:53                         ` Alvaro Karsz
2023-02-08 20:52                           ` Michael S. Tsirkin
2023-02-08 21:05                             ` Parav Pandit
2023-02-08 21:55                               ` [virtio-dev] " Alvaro Karsz
2023-02-08 22:08                                 ` Parav Pandit
2023-02-08 22:15                                   ` [virtio-dev] " Michael S. Tsirkin
2023-02-08 22:23                                     ` Parav Pandit
2023-02-08 22:29                                       ` [virtio-dev] " Michael S. Tsirkin
2023-02-08 22:33                                         ` Parav Pandit
2023-02-08 22:45                                           ` Alvaro Karsz
2023-02-08 22:53                                             ` Michael S. Tsirkin
2023-02-08 22:35                                   ` [virtio-dev] " Alvaro Karsz
2023-02-08 22:57                                     ` Michael S. Tsirkin
2023-02-09  0:06                                     ` Parav Pandit
2023-02-09  3:16                                     ` [virtio-comment] Re: [virtio-dev] " Heng Qi
2023-02-08 22:13                               ` Michael S. Tsirkin
2023-02-08 21:22                             ` Alvaro Karsz
2023-02-09  3:25                             ` Heng Qi
2023-02-09  3:12                           ` [virtio-comment] Re: [virtio-dev] " Heng Qi
2023-02-09  3:28                         ` [virtio-comment] Re: [virtio-dev] " Heng Qi
2023-02-08 14:44                 ` Michael S. Tsirkin
2023-02-08  2:27       ` Xuan Zhuo
2023-02-08  2:35       ` [virtio-comment] Re: [virtio-dev] " Heng Qi
2023-02-08  2:47         ` [virtio-comment] " Parav Pandit
2023-02-08  1:57   ` [virtio-comment] Re: [virtio-dev] " Heng Qi
2023-02-08 10:04     ` Michael S. Tsirkin
2023-02-08 11:23       ` Heng Qi
2023-02-08 13:39         ` [virtio-dev] " Michael S. Tsirkin
2023-02-08 10:10     ` Michael S. Tsirkin
2023-02-08 11:24       ` 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=20230208094504-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alvaro.karsz@solid-run.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 \
    /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.