From: Oleksij Rempel <o.rempel@pengutronix.de>
To: Kory Maincent <kory.maincent@bootlin.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Jonathan Corbet <corbet@lwn.net>,
Donald Hunter <donald.hunter@gmail.com>,
Rob Herring <robh@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Simon Horman <horms@kernel.org>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-doc@vger.kernel.org, Kyle Swenson <kyle.swenson@est.tech>,
Dent Project <dentproject@linuxfoundation.org>,
kernel@pengutronix.de,
Maxime Chevallier <maxime.chevallier@bootlin.com>
Subject: Re: [PATCH RFC net-next v2 15/18] net: pse-pd: Add support for getting and setting port priority
Date: Tue, 5 Nov 2024 15:36:10 +0100 [thread overview]
Message-ID: <ZyotWqt09diq-MqX@pengutronix.de> (raw)
In-Reply-To: <20241105144913.3c25b476@kmaincent-XPS-13-7390>
On Tue, Nov 05, 2024 at 02:49:13PM +0100, Kory Maincent wrote:
> On Thu, 31 Oct 2024 18:32:39 +0100
> Oleksij Rempel <o.rempel@pengutronix.de> wrote:
>
> > * @PSE_DISCON_STATIC_CLASS_BUDGET_MATCH: Disconnect based on static
> > allocation
> > * class, targeting devices that release enough allocated power to meet the
> > * current power requirement.
> > * - Relevant for: ETHTOOL_PSE_PORT_PRIO_STATIC
> > * - Behavior: Searches for the lowest-priority device that can release
> > * sufficient allocated power to meet the current budget requirement.
> > * Ensures that disconnection occurs only when enough power is freed.
> > * - Rationale: This strategy is useful when the goal is to balance power
> > * budget requirements while minimizing the number of disconnected
> > devices.
> > * It ensures that the system does not needlessly disconnect multiple
> > * devices if a single disconnection is sufficient to meet the power
> > needs.
> > * - Use Case: Ideal for systems where precise power budget management is
> > * necessary, and disconnections must be efficient in terms of freeing
> > * enough power with minimal impact on the system.
>
> Not sure about this one. PSE_DISCON_STATIC_CLASS_HIGHEST_FIRST would be
> sufficient for that case.
ack
> > * @PSE_DISCON_LOWEST_AVG_POWER: Disconnect device with the lowest average
> > * power draw, minimizing impact on dynamic power allocation.
> > * - Relevant for: ETHTOOL_PSE_PORT_PRIO_DYNAMIC
> > * - Behavior: Among devices with the same priority level, the system
> > * disconnects the device with the lowest average power draw.
> > * - If multiple devices have the same average power draw and priority,
> > * further tie-breaking mechanisms can be applied, such as disconnecting
> > * the least recently connected device.
> > * - Rationale: Minimizes disruption across dynamic devices, keeping as many
> > * active as possible by removing the lowest-power ones.
> > * - Use Case: Suitable for dynamic-priority systems where maximizing the
> > * number of connected devices is more important than individual device
> > * power requirements.
> >
> > * @PSE_DISCON_LONGEST_IDLE: Disconnect device with the longest idle time
> > * (low or no recent active power usage).
> > * - Relevant for: ETHTOOL_PSE_PORT_PRIO_DYNAMIC
> > * - Behavior: Disconnects the device with the longest period of inactivity,
> > * where "idle" is defined as low current draw or absence of recent data
> > * transmission.
> > * - If multiple devices have the same idle time and priority, a
> > tie-breaking
> > * mechanism, such as round-robin based on port index, can be used.
> > * - Rationale: Optimizes resource allocation in dynamic-priority setups by
> > * maintaining active devices while deprioritizing those with minimal
> > * recent usage.
> > * - Use Case: Ideal for dynamic environments, like sensor networks, where
> > * devices may be intermittently active and can be deprioritized during
> > * idle periods.
> > *
> > * These disconnection policies provide flexibility in handling cases where
> > * multiple devices with the same priority exceed the PSE budget, aligning
> > * with either static or dynamic port priority modes:
> > * - `ETHTOOL_PSE_PORT_PRIO_STATIC` benefits from policies that maintain
> > * stable power allocation, favoring longer-standing or higher-class
> > * devices (e.g., `PSE_DISCON_LRC`, `PSE_DISCON_ROUND_ROBIN_IDX`,
> > * `PSE_DISCON_STATIC_CLASS_HIGHEST_FIRST`,
> > `PSE_DISCON_STATIC_CLASS_LOWEST_FIRST`,
> > * `PSE_DISCON_STATIC_CLASS_BUDGET_MATCH`).
> > * - `ETHTOOL_PSE_PORT_PRIO_DYNAMIC` supports policies that dynamically
> > * adjust based on real-time metrics (e.g., `PSE_DISCON_LOWEST_AVG_POWER`,
> > * `PSE_DISCON_LONGEST_IDLE`), ideal for setups where usage fluctuates
> > * frequently.
> > * - Users can define an ordered array of disconnection policies, allowing
> > * the system to apply each policy in sequence, providing nuanced control
> > * over how power disconnections are handled.
> > */
>
> I think I can add support for one or two of these modes in this patch series.
> Modes relevant for dynamic port priority can't be used for now as nothing
> support them.
ack
> Do you think I should add this full enumeration in ethtool UAPI even if not all
> of them are supported yet?
No, do not worry, it was just my brain dump. Care only about actually
used variants. If some one will need something different, we will
already know how to address it.
--
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 |
next prev parent reply other threads:[~2024-11-05 14:36 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-30 16:53 [PATCH RFC net-next v2 00/18] Add support for PSE port priority Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 01/18] net: pse-pd: Remove unused pse_ethtool_get_pw_limit function declaration Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 02/18] net: pse-pd: tps23881: Simplify function returns by removing redundant checks Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 03/18] net: pse-pd: tps23881: Use helpers to calculate bit offset for a channel Kory Maincent
2024-10-31 6:18 ` Oleksij Rempel
2024-10-31 21:11 ` Andrew Lunn
2024-11-07 10:47 ` Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 04/18] net: pse-pd: tps23881: Add support for power limit and measurement features Kory Maincent
2024-10-31 6:20 ` Oleksij Rempel
2024-10-30 16:53 ` [PATCH RFC net-next v2 05/18] net: pse-pd: Add support for PSE device index Kory Maincent
2024-10-31 6:27 ` Oleksij Rempel
2024-10-31 21:28 ` Andrew Lunn
2024-11-05 9:33 ` Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 06/18] net: ethtool: Add support for new PSE device index description Kory Maincent
2024-10-31 6:28 ` Oleksij Rempel
2024-10-31 21:29 ` Andrew Lunn
2024-10-31 21:39 ` Andrew Lunn
2024-10-30 16:53 ` [PATCH RFC net-next v2 07/18] net: ethtool: Add support for ethnl_info_init_ntf helper function Kory Maincent
2024-10-31 21:44 ` Andrew Lunn
2024-11-05 9:37 ` Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 08/18] net: pse-pd: Add support for reporting events Kory Maincent
2024-10-31 6:34 ` Oleksij Rempel
2024-10-31 21:54 ` Andrew Lunn
2024-11-05 9:48 ` Kory Maincent
2024-10-31 22:00 ` Andrew Lunn
2024-11-05 9:41 ` Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 09/18] netlink: specs: Add support for PSE netlink notifications Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 10/18] net: pse-pd: tps23881: Add support for PSE events and interrupts Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 11/18] regulator: Add support for power budget description Kory Maincent
2024-10-30 17:03 ` Mark Brown
2024-10-30 17:22 ` Kory Maincent
2024-10-30 17:31 ` Mark Brown
2024-10-30 16:53 ` [PATCH RFC net-next v2 12/18] regulator: dt-bindings: Add regulator-power-budget property Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 13/18] net: pse-pd: Add support for PSE power domains Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 14/18] net: ethtool: Add support for new power domains index description Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 15/18] net: pse-pd: Add support for getting and setting port priority Kory Maincent
2024-10-31 6:54 ` Oleksij Rempel
2024-10-31 11:11 ` Kory Maincent
2024-10-31 17:32 ` Oleksij Rempel
2024-11-05 13:49 ` Kory Maincent
2024-11-05 14:36 ` Oleksij Rempel [this message]
2024-11-01 8:31 ` Oleksij Rempel
2024-11-01 10:23 ` Oleksij Rempel
2024-11-05 10:20 ` Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 16/18] net: ethtool: Add PSE new port priority support feature Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 17/18] netlink: specs: Expand the PSE netlink command with newly supported features Kory Maincent
2024-10-30 16:53 ` [PATCH RFC net-next v2 18/18] net: pse-pd: pd692x0: Add support for PSE PI priority feature Kory Maincent
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=ZyotWqt09diq-MqX@pengutronix.de \
--to=o.rempel@pengutronix.de \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=broonie@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=dentproject@linuxfoundation.org \
--cc=donald.hunter@gmail.com \
--cc=edumazet@google.com \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=kernel@pengutronix.de \
--cc=kory.maincent@bootlin.com \
--cc=kuba@kernel.org \
--cc=kyle.swenson@est.tech \
--cc=lgirdwood@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maxime.chevallier@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=thomas.petazzoni@bootlin.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).