Re: [PATCH net-next v5 07/12] net: ethtool: Add PSE new budget evaluation strategy support feature

Oleksij Rempel
2025-02-21T13:50:17Z

Hi Kory,

On Tue, Feb 18, 2025 at 05:19:11PM +0100, Kory Maincent wrote:
> From: Kory Maincent (Dent Project) <kory.maincent@bootlin.com>
>
> This patch expands the status information provided by ethtool for PSE c33
> with current port priority and max port priority. It also adds a call to
> pse_ethtool_set_prio() to configure the PSE port priority.

Thank you! Here are some comments...

> --- a/Documentation/networking/ethtool-netlink.rst
> +++ b/Documentation/networking/ethtool-netlink.rst
> @@ -1790,6 +1790,12 @@ Kernel response contents:
> ``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES`` nested Supported power limit
> configuration ranges.
> ``ETHTOOL_A_PSE_PW_D_ID`` u32 Index of the PSE power domain
> + ``ETHTOOL_A_C33_PSE_BUDGET_EVAL_STRAT`` u32 Budget evaluation strategy
> + of the PSE
> + ``ETHTOOL_A_C33_PSE_PRIO_MAX`` u32 Priority maximum configurable
> + on the PoE PSE
> + ``ETHTOOL_A_C33_PSE_PRIO`` u32 Priority of the PoE PSE
> + currently configured

Please remove _C33_ from these fields, as they are not specific to Clause 33.

> ========================================== ====== =============================
>
> When set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` attribute identifies
> @@ -1866,6 +1872,51 @@ equal.
> The ``ETHTOOL_A_PSE_PW_D_ID`` attribute identifies the index of PSE power
> domain.
>
> +When set, the optional ``ETHTOOL_A_C33_PSE_PRIO_SUPP_MODES`` attribute
> +identifies the priority mode supported by the C33 PSE.
> +When set, the optional ``ETHTOOL_A_C33_PSE_BUDGET_EVAL_STRAT`` attributes is used to
> +identifies the currently configured C33 PSE budget evaluation strategy.
> +The available strategies are:
> +
> +1. Disabled:
> +
> + In this mode, the port is excluded from active budget evaluation. It
> + allows the port to violate the budget and is intended primarily for testing
> + purposes.
> +
> +2. Static Method:
> +
> + This method involves distributing power based on PD classification. It’s
> + straightforward and stable, with the PSE core keeping track of the budget
> + and subtracting the power requested by each PD’s class. This is the
> + safest option and should be used by default.
> +
> + Advantages: Every PD gets its promised power at any time, which guarantees
> + reliability.
> +
> + Disadvantages: PD classification steps are large, meaning devices request
> + much more power than they actually need. As a result, the power supply may
> + only operate at, say, 50% capacity, which is inefficient and wastes money.
> +
> +3. Dynamic Method:
> +
> + This method monitors the current consumption per port and subtracts it from
> + the available power budget. When the budget is exceeded, lower-priority
> + ports are shut down. This method is managed by the PSE controller itself.
> +
> + Advantages: This method optimizes resource utilization, saving costs.
> +
> + Disadvantages: Low-priority devices may experience instability.
> +
> +.. kernel-doc:: include/uapi/linux/ethtool.h
> + :identifiers: ethtool_pse_budget_eval_strategies
> +
> +When set, the optional ``ETHTOOL_A_C33_PSE_PRIO_MAX`` attribute identifies
> +the C33 PSE maximum priority value.
> +When set, the optional ``ETHTOOL_A_C33_PSE_PRIO`` attributes is used to
> +identifies the currently configured C33 PSE priority.
> +For a description of PSE priority attributes, see ``PSE_SET``.
> +
> PSE_SET
> =======
>
> @@ -1879,6 +1930,8 @@ Request contents:
> ``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` u32 Control PSE Admin state
> ``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT`` u32 Control PoE PSE available
> power limit
> + ``ETHTOOL_A_C33_PSE_PRIO`` u32 Control priority of the
> + PoE PSE

Please remove _C33_ from these field, as they are not specific to
Clause 33.
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |