From: Jakub Kicinski <kuba@kernel.org>
To: "Wilczynski, Michal" <michal.wilczynski@intel.com>
Cc: <netdev@vger.kernel.org>, <alexandr.lobakin@intel.com>,
<jacob.e.keller@intel.com>, <jesse.brandeburg@intel.com>,
<przemyslaw.kitszel@intel.com>, <anthony.l.nguyen@intel.com>,
<ecree.xilinx@gmail.com>, <jiri@resnulli.us>
Subject: Re: [PATCH net-next v10 10/10] ice: add documentation for devlink-rate implementation
Date: Wed, 9 Nov 2022 13:25:44 -0800 [thread overview]
Message-ID: <20221109132544.62703381@kernel.org> (raw)
In-Reply-To: <de1cb0ab-163c-02e8-86b0-fc865796a40a@intel.com>
On Wed, 9 Nov 2022 19:54:52 +0100 Wilczynski, Michal wrote:
> On 11/8/2022 11:39 PM, Jakub Kicinski wrote:
> > On Mon, 7 Nov 2022 19:13:26 +0100 Michal Wilczynski wrote:
> >> Add documentation to a newly added devlink-rate feature. Provide some
> >> examples on how to use the features, which netlink attributes are
> >> supported and descriptions of the attributes.
> >> +Devlink Rate
> >> +==========
> >> +
> >> +The ``ice`` driver implements devlink-rate API. It allows for offload of
> >> +the Hierarchical QoS to the hardware. It enables user to group Virtual
> >> +Functions in a tree structure and assign supported parameters: tx_share,
> >> +tx_max, tx_priority and tx_weight to each node in a tree. So effectively
> >> +user gains an ability to control how much bandwidth is allocated for each
> >> +VF group. This is later enforced by the HW.
> >> +
> >> +It is assumed that this feature is mutually exclusive with DCB and ADQ, or
> >> +any driver feature that would trigger changes in QoS, for example creation
> >> +of the new traffic class.
> > Meaning? Will the devlink API no longer reflect reality once one of
> > the VFs enables DCB for example?
>
> By DCB I mean the DCB that's implemented in the FW, and I'm not aware
> of any flow that would enable the VF to tweak FW DCB on/off. Additionally
> there is a commit in this patch series that should prevent any devlink-rate
> changes if the FW DCB is enabled, and should prevent enabling FW DCB
> enablement if any changes were made with the devlink-rate.
Nice, but in case DCB or TC/ADQ gets enabled devlink rate will just
show a stale hierarchy?
We need to document clearly that the driver is supposed to prevent
multiple APIs being used, and how we decide which API takes precedence.
> I don't think there is a way to detect that the SW DCB is enabled though.
> In that case the software would try to enforce it's own settings in the SW
> stack and the HW would try to enforce devlink-rate settings.
>
> >> + consumed by the tree Node. Rate Limit is an absolute number
> >> + specifying a maximum amount of bytes a Node may consume during
> >> + the course of one second. Rate limit guarantees that a link will
> >> + not oversaturate the receiver on the remote end and also enforces
> >> + an SLA between the subscriber and network provider.
> >> + * - ``tx_share``
> > Wouldn't it be more common to call this tx_min, like in the old VF API
> > and the cgroup APIs?
>
> I agree on this one, I'm not really sure why this attribute is called
> tx_share. In it's iproute documentation tx_share is described as:
> "specifies minimal tx rate value shared among all rate objects. If rate
> object is a part of some rate group, then this value shared with rate
> objects of this rate group.".
> So tx_min is more intuitive, but I suspect that the original author
> wanted to emphasize that this BW is shared among all the children
> nodes.
Ah :/ I missed you're not adding this one :S
next prev parent reply other threads:[~2022-11-09 21:25 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-07 18:13 [PATCH net-next v10 00/10] Implement devlink-rate API and extend it Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 01/10] devlink: Introduce new attribute 'tx_priority' to devlink-rate Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 02/10] devlink: Introduce new attribute 'tx_weight' " Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 03/10] devlink: Enable creation of the devlink-rate nodes from the driver Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 04/10] devlink: Allow for devlink-rate nodes parent reassignment Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 05/10] devlink: Allow to set up parent in devl_rate_leaf_create() Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 06/10] ice: Introduce new parameters in ice_sched_node Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 07/10] ice: Add an option to pre-allocate memory for ice_sched_node Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 08/10] ice: Implement devlink-rate API Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 09/10] ice: Prevent ADQ, DCB coexistence with Custom Tx scheduler Michal Wilczynski
2022-11-07 18:13 ` [PATCH net-next v10 10/10] ice: add documentation for devlink-rate implementation Michal Wilczynski
2022-11-08 22:39 ` Jakub Kicinski
2022-11-09 18:54 ` Wilczynski, Michal
2022-11-09 21:25 ` Jakub Kicinski [this message]
2022-11-10 16:54 ` Wilczynski, Michal
2022-11-10 17:03 ` Jakub Kicinski
2022-11-10 17:40 ` Wilczynski, Michal
2022-11-07 18:13 ` [PATCH net-next v10 10/10] ice: Add " Michal Wilczynski
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=20221109132544.62703381@kernel.org \
--to=kuba@kernel.org \
--cc=alexandr.lobakin@intel.com \
--cc=anthony.l.nguyen@intel.com \
--cc=ecree.xilinx@gmail.com \
--cc=jacob.e.keller@intel.com \
--cc=jesse.brandeburg@intel.com \
--cc=jiri@resnulli.us \
--cc=michal.wilczynski@intel.com \
--cc=netdev@vger.kernel.org \
--cc=przemyslaw.kitszel@intel.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.