From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Date: Thu, 09 Jun 2022 09:47:57 +0000 Subject: Re: [PATCH 33/36] cpuidle,omap3: Use WFI for omap3_pm_idle() Message-Id: List-Id: References: <20220608142723.103523089@infradead.org> <20220608144518.010587032@infradead.org> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Tony Lindgren Cc: Arnd Bergmann , Richard Henderson , Ivan Kokshaysky , Matt Turner , Vineet Gupta , Russell King - ARM Linux , Hans Ulli Kroll , Linus Walleij , Shawn Guo , Sascha Hauer , Sascha Hauer , Fabio Estevam , NXP Linux Team , Kevin Hilman , Catalin Marinas , Will Deacon , Guo Ren , bcain@quicinc.com, Huacai Chen , Xuerui Wang , Geert Uytterhoeven , Sam Creasey , Michal Simek , Thomas Bogendoerfer , Dinh Nguyen , Jonas Bonn , Stefan Kristiansson , Stafford Horne , James Bottomley , Helge Deller , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Paul Walmsley , Palmer Dabbelt , Albert Ou , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , Yoshinori Sato , Rich Felker , David Miller , Richard Weinberger , Anton Ivanov , Johannes Berg , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , the arch/x86 maintainers , "H. Peter Anvin" , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Juergen Gross , srivatsa@csail.mit.edu, amakhalov@vmware.com, Pv-drivers , Boris Ostrovsky , Chris Zankel , Max Filippov , Rafael Wysocki , Len Brown , Pavel Machek , gregkh , Michael Turquette , Stephen Boyd , Daniel Lezcano , lpieralisi@kernel.org, Sudeep Holla , Andy Gross , Bjorn Andersson , Anup Patel , Thierry Reding , Jonathan Hunter , jacob.jun.pan@linux.intel.com, Yury Norov , Andy Shevchenko , Rasmus Villemoes , Steven Rostedt , Petr Mladek , Sergey Senozhatsky , John Ogness , "Paul E. McKenney" , Frederic Weisbecker , quic_neeraju@quicinc.com, Josh Triplett , Mathieu Desnoyers , Lai Jiangshan , Joel Fernandes , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira , vschneid@redhat.com, jpoimboe@kernel.org, alpha , Linux Kernel Mailing List , "open list:SYNOPSYS ARC ARCHITECTURE" , Linux ARM , linux-omap , linux-csky@vger.kernel.org, "open list:QUALCOMM HEXAGON..." , "open list:IA64 (Itanium) PLATFORM" , linux-m68k , "open list:BROADCOM NVRAM DRIVER" , Openrisc , Parisc List , linuxppc-dev , linux-riscv , linux-s390 , Linux-sh list , sparclinux , linux-um , linux-perf-users@vger.kernel.org, "open list:DRM DRIVER FOR QEMU'S CIRRUS DEVICE" , xen-devel , "open list:TENSILICA XTENSA PORT (xtensa)" , ACPI Devel Maling List , Linux PM list , linux-clk , linux-arm-msm , "open list:TEGRA ARCHITECTURE SUPPORT" , linux-arch , rcu@vger.kernel.org On Thu, Jun 09, 2022 at 10:39:22AM +0300, Tony Lindgren wrote: > * Arnd Bergmann [220608 18:18]: > > On Wed, Jun 8, 2022 at 4:27 PM Peter Zijlstra wrote: > > > > > > arch_cpu_idle() is a very simple idle interface and exposes only a > > > single idle state and is expected to not require RCU and not do any > > > tracing/instrumentation. > > > > > > As such, omap_sram_idle() is not a valid implementation. Replace it > > > with the simple (shallow) omap3_do_wfi() call. Leaving the more > > > complicated idle states for the cpuidle driver. > > Agreed it makes sense to limit deeper idle states to cpuidle. Hopefully > there is some informative splat for attempting to use arch_cpu_ide() > for deeper idle states :) The arch_cpu_idle() interface doesn't allow one to express a desire for deeper states. I'm not sure how anyone could even attempt this. But given what OMAP needs to go deeper, this would involve things that require RCU, combine that with the follow up patches that rip out all the trace_.*_rcuidle() hackery from the power and clock domain code, PROVE_RCU should scream if anybody were to attempt it.