From: Jakub Kicinski <kuba@kernel.org>
To: Michal Wilczynski <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: Tue, 8 Nov 2022 14:39:36 -0800 [thread overview]
Message-ID: <20221108143936.4e59f6e8@kernel.org> (raw)
In-Reply-To: <20221107181327.379007-11-michal.wilczynski@intel.com>
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?
> This feature is also dependent on switchdev
> +being enabled in the system. It's required bacause devlink-rate requires
> +devlink-port objects to be present, and those objects are only created
> +in switchdev mode.
> +
> +If the driver is set to the switchdev mode, it will export
> +internal hierarchy the moment the VF's are created. Root of the tree
> +is always represented by the node_0. This node can't be deleted by the user.
> +Leaf nodes and nodes with children also can't be deleted.
> +
> +.. list-table:: Attributes supported
> + :widths: 15 85
> +
> + * - Name
> + - Description
> + * - ``tx_max``
> + - This attribute allows for specifying a maximum bandwidth to be
Drop the "This attribute allows for specifying a" from all attrs.
> + 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?
> + - This attribute allows for specifying a minimum bandwidth allocated
> + to a tree node when it is not blocked. It specifies an absolute
> + BW. While tx_max defines the maximum bandwidth the node may consume,
> + the tx_share marks committed BW for the Node.
> + * - ``tx_priority``
> + - This attribute allows for usage of strict priority arbiter among
> + siblings. This arbitration scheme attempts to schedule nodes based
> + on their priority as long as the nodes remain within their
> + bandwidth limit. Range 0-7.
Nodes meaning it will (W)RR across all nodes of highest prio?
Is prio 0 or 7 highest?
> + * - ``tx_weight``
> + - This attribute allows for usage of Weighted Fair Queuing
> + arbitration scheme among siblings. This arbitration scheme can be
> + used simultaneously with the strict priority. Range 1-200.
Would be good to specify how the interaction with SP looks.
Does the absolute value of the weight matter or only the relative
values? (IOW is 1 vs 10 the same as 10 vs 100)
next prev parent reply other threads:[~2022-11-08 22:39 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 [this message]
2022-11-09 18:54 ` Wilczynski, Michal
2022-11-09 21:25 ` Jakub Kicinski
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=20221108143936.4e59f6e8@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).