Re: [PATCH net-next 11/12] net: pse-pd: Add support for event reporting using devm_regulator_irq_helper
flat view
From: Oleksij Rempel <o.rempel@pengutronix.de>
Date: 2024-10-04 14:02:27
Also in:
linux-doc, lkml
On Fri, Oct 04, 2024 at 03:56:33PM +0200, Oleksij Rempel wrote:
On Thu, Oct 03, 2024 at 05:22:58PM +0200, Andrew Lunn wrote:quoted
quoted
Indeed, but regulator API already provide such events, which will even be sent when we enable or disable the PSE. Should we write a second event management. Using regulator event API allows to report over current internal events to the parents regulator the power supply of the PSE which could also do something to avoid smoke. Or maybe we should add another wrapper which will send PSE ethtool netlink notification alongside the regulator notifications supported by this patch.quoted
Also, how do regulator events work in combination with network namespaces? If you move the interface into a different network namespace, do the regulator events get delivered to the root namespace or the namespace the interface is in?regulator events are sent in root namespace.I think we will need two event, the base regulator event, and a networking event. Since it is a regulator, sending a normal regulator event makes a lot of sense. But mapping that regulator event to a netns:ifnam is going to be hard. Anything wanting to take an action is probably going to want to use ethtool, and so needs to be in the correct netns, etc. But it does get messy if there is some sort of software driven prioritisation going on, some daemon needs to pick a victim to reduce power to, and the interfaces are spread over multiple network namespaces. What i don't know is if we can use an existing event, or we should add a new one. Often rtnetlink_event() is used: https://elixir.bootlin.com/linux/v6.12-rc1/source/net/core/rtnetlink.c#L6679 but without some PSE information in it, it would be hard to know why it was sent. So we probably either want a generic ethtool event, or a PSE event.Hm... assuming we have following scenario: .--------- PI 1 / .--------- PI 2 .========= PSE /----------( PI 3 ) NNS red // \----------( PI 4 ) NNS blue Main supply // `---------( PI 5 ) NNS blue o================´--- System, CPU In this case we seems to have a new challenge: On one side, a system wide power manager should see and mange all ports. On other side, withing a name space, we should be able to play in a isolated sand box. There is a reason why it is isolated. So, we should be able to sandbox power delivery and port prios too. Means, by creating network names space, we will need a power names space. I can even imagine a use case: an admin limited access to a switch for developer. A developer name space is created with PSE budget and max prios available for this name space. This will prevent users from DoSing system critical ports. At this point, creating a power name space will an overkill for this patch set, so it should be enough to allow controlling prios over ethtool per port and isolation support if needed.
Oh, sorry, i'm too tired. Too many words are missing in my answer ... -- 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 |