Re: [PATCH net-next v8 07/13] net: pse-pd: Add support for budget evaluation strategies

From: Oleksij Rempel
Date: Thu Apr 17 2025 - 08:39:17 EST


On Wed, Apr 16, 2025 at 03:44:22PM +0200, Kory Maincent wrote:
> From: Kory Maincent (Dent Project) <kory.maincent@xxxxxxxxxxx>
>
> This patch introduces the ability to configure the PSE PI budget evaluation
> strategies. Budget evaluation strategies is utilized by PSE controllers to
> determine which ports to turn off first in scenarios such as power budget
> exceedance.
>
> The pis_prio_max value is used to define the maximum priority level
> supported by the controller. Both the current priority and the maximum
> priority are exposed to the user through the pse_ethtool_get_status call.
>
> This patch add support for two mode of budget evaluation strategies.
> 1. Static Method:
>
> This method involves distributing power based on PD classification.
> It’s straightforward and stable, the PSE core keeping track of the
> budget and subtracting the power requested by each PD’s class.
>
> 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.
>
> Priority max value is matching the number of PSE PIs within the PSE.
>
> 2. Dynamic Method:
>
> To address the inefficiencies of the static method, vendors like
> Microchip have introduced dynamic power budgeting, as seen in the
> PD692x0 firmware. 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.
>
> Advantages: This method optimizes resource utilization, saving costs.
>
> Disadvantages: Low-priority devices may experience instability.
>
> Priority max value is set by the PSE controller driver.
>
> For now, budget evaluation methods are not configurable and cannot be
> mixed. They are hardcoded in the PSE driver itself, as no current PSE
> controller supports both methods.
>
> Signed-off-by: Kory Maincent (Dent Project) <kory.maincent@xxxxxxxxxxx>

Reviewed-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>

Thank you!

--
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 |