linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Oleksij Rempel <o.rempel@pengutronix.de>
To: Kory Maincent <kory.maincent@bootlin.com>
Cc: Jakub Kicinski <kuba@kernel.org>, Andrew Lunn <andrew@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	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>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	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>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v5 06/12] net: pse-pd: Add support for budget evaluation strategies
Date: Thu, 27 Feb 2025 17:40:42 +0100	[thread overview]
Message-ID: <Z8CVimyMj261wc7w@pengutronix.de> (raw)
In-Reply-To: <20250227155727.7bdc069f@kmaincent-XPS-13-7390>

On Thu, Feb 27, 2025 at 03:57:27PM +0100, Kory Maincent wrote:
> On Thu, 27 Feb 2025 08:40:25 +0100
> Oleksij Rempel <o.rempel@pengutronix.de> wrote:
> 
> > On Wed, Feb 26, 2025 at 06:42:57PM -0800, Jakub Kicinski wrote:
> > > On Wed, 26 Feb 2025 07:06:55 +0100 Oleksij Rempel wrote:  
> > > > Here is one example how it is done by HP switches:
> > > > https://arubanetworking.hpe.com/techdocs/AOS-CX/10.08/HTML/monitoring_6200/Content/Chp_PoE/PoE_cmds/pow-ove-eth-all-by.htm
> > > > 
> > > > switch(config)# interface 1/1/1    <---- per interface
> > > > switch(config-if)# power-over-ethernet allocate-by usage
> > > > switch(config-if)# power-over-ethernet allocate-by class
> > > > 
> > > > Cisco example:
> > > > https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/93x/power-over-ethernet/configuration/configuring-power-over-ethernet/m-configuring-power-over-ethernet.html
> > > > 
> > > > switch(config)# interface ethernet1/1   <---- per interface
> > > > switch(config-if)# power inline auto  
> > > 
> > > I don't see any mention of a domain in these docs.
> > > This patchset is creating a concept of "domain" but does 
> > > not expose it as an object.  
> > 
> > Ok, I see. @Köry, can you please provide regulator_summary with some
> > inlined comments to regulators related to the PSE components and PSE
> > related outputs of ethtool (or what ever tool you are using).
> > 
> > I wont to use this examples to answer.
> 
> On my side, I am not close to using sysfs. As we do all configurations
> through ethtool I have assumed we should continue with ethtool.

Yes, I agree. But it won't be possible to do it for all components.

> I think we should set the port priority through ethtool.

ack

> but indeed the PSE  power domain method get and set could be moved to
> sysfs as it is not something  relative to the port but to a group of
> ports.

I would prefer to have it in the for of devlink or use regulator netlink
interface. But, we do not need to do this discussion right now.

> Ethtool should still report the  PSE power domain ID of a port to know
> which domain the port is.

Exactly.

@Jakub, at current implementation stage, user need to know the domain
id, because ports (and priorities) are grouped by the top level
regulators (pse-regX in the regulator_summary), they are our top-level
bottlenecks.

HP and Cisco switch either use different PSE controllers, or just didn't
exposed this nuance to the user. Let's assume, they have only one
global power domain.

So, in current patch set I would expect (not force :) ) implementation for
following fields:
- per port:
  - priority (valid within the power domain)
  - power reservation/allocation methods. First of all, because all
    already supported controllers have different implemented/default
    methods: microchip - dynamic, TI - static, regulator-pse - fixed (no
    classification is supported).
    At same time, in the future, we will need be able switch between
    (static or dynamic) and fixed for LLPD or manual configuration.
    Yes, at this point all ports show the same information and it seems
    to be duplicated.
  - power domain ID.

@Jakub, did I answered you question, or missed the point? :)

> @Oleksij here it is:

Thank you!

I do not expect it to be the primer user interface, but it can provide
additional diagnostic information. I wonted to see how it is aligns
with current ethtool UAPI implementation and if it possible to combine
it for diagnostics.

> # cat /sys/kernel/debug/regulator/regulator_summary
>  regulator                      use open bypass  opmode voltage current     min     max
> ---------------------------------------------------------------------------------------
>  regulator-dummy                  5    4      0 unknown     0mV     0mA     0mV     0mV 
>     d00e0000.sata-target          1                                 0mA     0mV     0mV
>     d00e0000.sata-phy             1                                 0mA     0mV     0mV
>     d00e0000.sata-ahci            1                                 0mA     0mV     0mV
>     spi0.0-vcc                    1                                 0mA     0mV     0mV
>  pse-reg                          1    4      0 unknown     0mV     0mA     0mV     0mV 

pse-regX should be attached to the main supply regulator for better full
picture. And use different name to be better identified as PSE power domains with ID?

>     pse-0-0020_pi0                0    1      0 unknown 53816mV  2369mA     0mV     0mV 
>        0-0020-pse-0-0020_pi0      0                                 0mA     0mV     0mV
>     pse-0-0020_pi2                0    1      0 unknown 53816mV  2369mA     0mV     0mV 
>        0-0020-pse-0-0020_pi2      0                                 0mA     0mV     0mV
>     pse-0-0020_pi7                0    1      0 unknown 53816mV  2369mA     0mV     0mV 
>        0-0020-pse-0-0020_pi7      0                                 0mA     0mV     0mV
>  pse-reg2                         1    2      0 unknown     0mV     0mA     0mV     0mV 
>     pse-0-0020_pi1                0    0      0 unknown 53816mV  4738mA     0mV     0mV 
>  vcc_sd1                          2    1      0 unknown  1800mV     0mA  1800mV  3300mV 
>     d00d0000.mmc-vqmmc            1                                 0mA  1800mV  1950mV
> 
> # ./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema --do pse-get --json
>  '{"header":{"dev-name":"wan"}}'
> {'c33-pse-admin-state': 2,
>  'c33-pse-avail-pw-limit': 127500,
>  'c33-pse-pw-d-status': 2,
>  'c33-pse-pw-limit-ranges': [{'max': 99900, 'min': 2000}],
>  'header': {'dev-index': 4, 'dev-name': 'wan'},
>  'pse-budget-eval-strat': 2,
>  'pse-prio': 0,
>  'pse-prio-max': 8,
>  'pse-pw-d-id': 1}
> 
> # ./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema --do pse-set --json
>  '{"header":{"dev-name":"wan"}, "pse-prio":1}'
> None
> # ./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema --do pse-set --json
> '{"header":{"dev-name":"wan"}, "c33-pse-avail-pw-limit":15000}'


Best Regards,
Oleksij
-- 
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 |

  reply	other threads:[~2025-02-27 16:41 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-18 16:19 [PATCH net-next v5 00/12] Add support for PSE budget evaluation strategy Kory Maincent
2025-02-18 16:19 ` [PATCH net-next v5 01/12] net: ethtool: Add support for ethnl_info_init_ntf helper function Kory Maincent
2025-02-18 16:19 ` [PATCH net-next v5 02/12] net: pse-pd: Add support for reporting events Kory Maincent
2025-02-21  0:42   ` Jakub Kicinski
2025-02-24 12:33     ` Kory Maincent
2025-02-24 21:47       ` Jakub Kicinski
2025-02-21  8:50   ` Oleksij Rempel
2025-02-24 11:02     ` Kory Maincent
2025-02-24 18:19       ` Kory Maincent
2025-02-18 16:19 ` [PATCH net-next v5 03/12] net: pse-pd: tps23881: Add support for PSE events and interrupts Kory Maincent
2025-02-18 16:19 ` [PATCH net-next v5 04/12] net: pse-pd: Add support for PSE power domains Kory Maincent
2025-02-21  0:43   ` Jakub Kicinski
2025-02-18 16:19 ` [PATCH net-next v5 05/12] net: ethtool: Add support for new power domains index description Kory Maincent
2025-02-18 16:19 ` [PATCH net-next v5 06/12] net: pse-pd: Add support for budget evaluation strategies Kory Maincent
2025-02-21  0:51   ` Jakub Kicinski
2025-02-24 13:10     ` Kory Maincent
2025-02-24 21:45       ` Jakub Kicinski
2025-02-25  9:25         ` Kory Maincent
2025-02-26  1:47           ` Jakub Kicinski
2025-02-26  5:59             ` Oleksij Rempel
2025-02-26  6:06               ` Oleksij Rempel
2025-02-27  2:42                 ` Jakub Kicinski
2025-02-27  7:40                   ` Oleksij Rempel
2025-02-27 14:57                     ` Kory Maincent
2025-02-27 16:40                       ` Oleksij Rempel [this message]
2025-02-27 18:26                         ` Kory Maincent
2025-03-01 13:00                           ` Oleksij Rempel
2025-03-03 13:40                             ` Kory Maincent
2025-03-04  1:12                               ` Jakub Kicinski
2025-02-18 16:19 ` [PATCH net-next v5 07/12] net: ethtool: Add PSE new budget evaluation strategy support feature Kory Maincent
2025-02-21 13:49   ` Oleksij Rempel
2025-02-24 13:13     ` Kory Maincent
2025-02-18 16:19 ` [PATCH net-next v5 08/12] net: pse-pd: pd692x0: Add support for PSE PI priority feature Kory Maincent
2025-02-18 16:19 ` [PATCH net-next v5 09/12] net: pse-pd: pd692x0: Add support for controller and manager power supplies Kory Maincent
2025-02-24 12:42   ` Maxime Chevallier
2025-02-24 12:49     ` Russell King (Oracle)
2025-02-24 13:17       ` Maxime Chevallier
2025-02-18 16:19 ` [PATCH net-next v5 10/12] dt-bindings: net: pse-pd: microchip,pd692x0: Add manager regulator supply Kory Maincent
2025-02-19  7:41   ` Krzysztof Kozlowski
2025-02-18 16:19 ` [PATCH net-next v5 11/12] net: pse-pd: tps23881: Add support for static port priority feature Kory Maincent
2025-02-18 16:19 ` [PATCH net-next v5 12/12] dt-bindings: net: pse-pd: ti,tps23881: Add interrupt description Kory Maincent
2025-02-19  7:41   ` Krzysztof Kozlowski

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=Z8CVimyMj261wc7w@pengutronix.de \
    --to=o.rempel@pengutronix.de \
    --cc=andrew+netdev@lunn.ch \
    --cc=andrew@lunn.ch \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=dentproject@linuxfoundation.org \
    --cc=devicetree@vger.kernel.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=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=kyle.swenson@est.tech \
    --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).