From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Osipenko Date: Sun, 07 Nov 2021 17:42:33 +0000 Subject: Re: [PATCH v2 27/45] mfd: ntxec: Use devm_register_power_handler() Message-Id: List-Id: References: <20211027211715.12671-1-digetx@gmail.com> <20211027211715.12671-28-digetx@gmail.com> <9a22c22d-94b1-f519-27a2-ae0b8bbf6e99@roeck-us.net> <658cf796-e3b1-f816-1e15-9e9e08b8ade0@gmail.com> <5a17fee3-4214-c2b9-abc1-ab9d6071591b@roeck-us.net> In-Reply-To: <5a17fee3-4214-c2b9-abc1-ab9d6071591b@roeck-us.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Guenter Roeck , =?UTF-8?Q?Jonathan_Neusch=c3=a4fer?= Cc: Thierry Reding , Jonathan Hunter , Lee Jones , "Rafael J . Wysocki" , Mark Brown , Andrew Morton , Russell King , Daniel Lezcano , Andy Shevchenko , Ulf Hansson , Catalin Marinas , Will Deacon , Guo Ren , Geert Uytterhoeven , Greg Ungerer , Joshua Thompson , Thomas Bogendoerfer , Nick Hu , Greentime Hu , Vincent Chen , Helge Deller , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Paul Walmsley , Palmer Dabbelt , Albert Ou , Yoshinori Sato , Rich Felker , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Boris Ostrovsky , Juergen Gross , Stefano Stabellini , Len Brown , Santosh Shilimkar , Krzysztof Kozlowski , Linus Walleij , Chen-Yu Tsai , Tony Lindgren , Liam Girdwood , Philipp Zabel , Vladimir Zapolskiy , Avi Fishman , Tomer Maimon , Tali Perry , Patrick Venture , Nancy Yuen , Benjamin Fair , Pavel Machek , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-csky@vger.kernel.org, linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org, xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org, linux-omap@vger.kernel.org, openbmc@lists.ozlabs.org, linux-tegra@vger.kernel.org, linux-pm@vger.kernel.org 07.11.2021 20:32, Guenter Roeck пишет: > On 11/7/21 9:16 AM, Dmitry Osipenko wrote: >> 07.11.2021 20:08, Guenter Roeck пишет: >>> On 11/7/21 8:53 AM, Dmitry Osipenko wrote: >>>> 06.11.2021 23:54, Jonathan Neuschäfer пишет: >>>>> Hi, >>>>> >>>>> On Thu, Oct 28, 2021 at 12:16:57AM +0300, Dmitry Osipenko wrote: >>>>>> Use devm_register_power_handler() that replaces global pm_power_off >>>>>> variable and allows to register multiple power-off handlers. It also >>>>>> provides restart-handler support, i.e. all in one API. >>>>>> >>>>>> Signed-off-by: Dmitry Osipenko >>>>>> --- >>>>> >>>>> When I boot with (most of) this patchset applied, I get the warning at >>>>> kernel/reboot.c:187: >>>>> >>>>>      /* >>>>>       * Handler must have unique priority. Otherwise call order is >>>>>       * determined by registration order, which is unreliable. >>>>>       */ >>>>>      WARN_ON(!atomic_notifier_has_unique_priority(&restart_handler_list, >>>>> >>>>> nb)); >>>>> >>>>> As the NTXEC driver doesn't specify a priority, I think this is an >>>>> issue >>>>> to be fixed elsewhere. >>>>> >>>>> Other than that, it works and looks good, as far as I can tell. >>>>> >>>>> >>>>> For this patch: >>>>> >>>>> Reviewed-by: Jonathan Neuschäfer >>>>> Tested-by: Jonathan Neuschäfer >>>> >>>> Thank you. You have conflicting restart handlers, apparently NTXEC >>>> driver should have higher priority than the watchdog driver. It should >>>> be a common problem for the watchdog drivers, I will lower watchdog's >>>> default priority to fix it. >>>> >>> >>> The watchdog subsystem already uses "0" as default priority, which was >>> intended as priority of last resort for restart handlers. I do not see >>> a reason to change that. >> >> Right, I meant that watchdog drivers which use restart handler set the >> level to the default 128 [1]. Although, maybe it's a problem only for >> i.MX drivers in practice, I'll take a closer look at the other drivers. >> > > They don't have to do that. The default is priority 0. It is the decision > of the driver author to set the watchdog's restart priority. So it is wrong > to claim that this would be "a common problem for the watchdog drivers", > because it isn't. Presumably there was a reason for the driver author > to select the default priority of 128. If there is a platform which has > a better means to restart the system, it should select a priority of > 129 or higher instead of affecting _all_ platforms using the imx watchdog > to reset the system. > > Sure, you can negotiate that with the driver author, but the default should > really be to change the priority for less affected platforms. Yes, looks like there is no common problem for watchdog drivers. Initially I was recalling that watchdog core uses 128 by default and typed the message without verifying it. I see now that it's incorrect, my bad. EC drivers tend to use higher priority in general. Jonathan, could you please confirm that NTXEC driver is a more preferable restart method than the watchdog?