From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: 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>,
Heng Qi <hengqi@linux.alibaba.com>
Subject: Re: RE: [virtio-comment] [PATCH] virtio-net: support per-queue coalescing moderation
Date: Wed, 8 Feb 2023 05:07:20 -0500 [thread overview]
Message-ID: <20230208050439-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB5481EF640830788A2B6D62D2DCD89@PH0PR12MB5481.namprd12.prod.outlook.com>
On Wed, Feb 08, 2023 at 02:43:02AM +0000, Parav Pandit wrote:
>
> > From: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> > Sent: Tuesday, February 7, 2023 9:25 PM
> >
> > On Wed, 8 Feb 2023 02:20:27 +0000, Parav Pandit <parav@nvidia.com> wrote:
> > >
> > > > From: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> > > > Sent: Tuesday, February 7, 2023 8:46 PM
> > > >
> > > > On Tue, 7 Feb 2023 09:06:19 -0500, "Michael S. Tsirkin"
> > > > <mst@redhat.com>
> > > > wrote:
> > > > > On Tue, Feb 07, 2023 at 07:16:34PM +0800, Heng Qi wrote:
> > > > > > Currently, the coalescing profile is directly applied to all queues.
> > > > > > This patch supports configuring the parameters for a specified queue.
> > > > > >
> > > > > > When the traffic between queues is unbalanced, for example, one
> > > > > > queue is busy and another queue is idle, then it will be very
> > > > > > useful to control coalescing parameters at the queue granularity.
> > > > >
> > > > > ethtool does not support this though, does it? what's the plan?
> > > >
> > > >
> > > > Although it can be done, I think it is difficult to let users use
> > > > ethtool to modify the parameters of each queue.
> > > >
> > > > At present ethtool supports adaptive-rx/adaptive-tx. This is that
> > > > the driver automatically adapted to the appropriate parameter.
> > > > Generally, it is implemented using netdim in the driver. At this time, this
> > interface is needed.
> > > >
> > > > >
> > > > > > Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
> > > > > > Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> > > > >
> > > > > What I dislike about this interface is that if
> > > > > VIRTIO_NET_F_PERQUEUE_NOTF_COAL is negotiated, then in the
> > common
> > > > case
> > > > > of same parameters for all queues driver has to issue multiple
> > > > > commands.
> > > > > I can see either a special vq index (0xffff ?) or a special
> > > > > command used to set it for all queues.
> > > >
> > > > Although the structure is very similar, in fact, adding a new
> > > > command may be clearer.
> > >
> > > O(N) loop is not that bad when user want to issue change it per device, as this
> > is something done very often.
> > > Once per VQ is supported, driver may just use the default net-dim to have
> > best out of box experience, whenever device supports it.
> >
> >
> > So you mean, we only support the parameters based on Per-Queue. My
> > original idea is to support two methods at the same time.
>
> Yes, if we want to support both the modes, that better to have such command.
> Because otherwise the device implementation is bit clumsy which needs to do the guess work.
> For example, driver has configured global params per device.
> Now suddenly driver configured first queues parameter.
> At this point device should run N-1 queues using global mode and 1 queue with per Q param.
Seems fine to me.
> Similar sequence also occurs when there is per q params configured and suddenly driver configures global param.
In this case I feel global one should win. I think global is just a
shortcut for running per queue.
> Even in this case now device either must iterate internally and move per q to global values.
>
> Better to avoid such complexity in device around implicit and confusing behavior.
>
> 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 like 2 better. I also think a and b are enough. c can be achieved through a.
--
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/
next prev parent reply other threads:[~2023-02-08 10:07 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 [this message]
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
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=20230208050439-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.