From mboxrd@z Thu Jan 1 00:00:00 1970 From: rostedt@goodmis.org (Steven Rostedt) Date: Tue, 26 Apr 2016 15:17:25 -0400 Subject: [PATCH arm 1/1] arm: Use _rcuidle tracepoint to allow use from idle In-Reply-To: <20160426182939.GO5995@atomide.com> References: <1461617335-22372-1-git-send-email-paulmck@linux.vnet.ibm.com> <20160426150031.GP5995@atomide.com> <20160426175214.GJ3715@linux.vnet.ibm.com> <20160426182939.GO5995@atomide.com> Message-ID: <20160426151725.657ae70c@gandalf.local.home> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, 26 Apr 2016 11:29:39 -0700 Tony Lindgren wrote: > * Paul E. McKenney [160426 10:53]: > > Does the following patch help? > > It just changes the output.. See below. > > > It is quite possible that there are quite a few more of these. If this > > is the case, then one way to make the kernel list more of them on a > > given boot is to build with CONFIG_PROVE_RCU_REPEATEDLY=y. > > OK > > Regards, > > Tony > > 8< ------------------ > CPU: Testing write buffer coherency: ok > CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 > > > RCU used illegally from idle CPU! > rcu_scheduler_active = 1, debug_locks = 0 > RCU used illegally from extended quiescent state! > no locks held by swapper/1/0. > > stack backtrace: > CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.6.0-rc5-next-20160426+ #1113 > Hardware name: Generic OMAP4 (Flattened Device Tree) > [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [] (show_stack) from [] (dump_stack+0xb0/0xe4) > [] (dump_stack) from [] (pwrdm_set_next_pwrst+0x100/0x1d4) > [] (pwrdm_set_next_pwrst) from [] (omap4_enter_lowpower+0xc8/0x230) > [] (omap4_enter_lowpower) from [] (omap_enter_idle_coupled+0x6c/0x254) > [] (omap_enter_idle_coupled) from [] (cpuidle_enter_state+0x80/0x3d4) > [] (cpuidle_enter_state) from [] (cpuidle_enter_state_coupled+0x348/0x390) > [] (cpuidle_enter_state_coupled) from [] (cpu_startup_entry+0x198/0x3a0) > [] (cpu_startup_entry) from [<8010162c>] (0x8010162c) > hw-breakpoint: Failed to enable monitor mode on CPU 0. Time to play "Whack-a-Mole"(TM) Signed-off-by: Steven Rostedt --- diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c index 78af6d8cf2e2..12b66b5bcc55 100644 --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c @@ -523,8 +523,8 @@ int pwrdm_set_next_pwrst(struct powerdomain *pwrdm, u8 pwrst) if (arch_pwrdm && arch_pwrdm->pwrdm_set_next_pwrst) { /* Trace the pwrdm desired target state */ - trace_power_domain_target(pwrdm->name, pwrst, - smp_processor_id()); + trace_power_domain_target_rcuidle(pwrdm->name, pwrst, + smp_processor_id()); /* Program the pwrdm desired target state */ ret = arch_pwrdm->pwrdm_set_next_pwrst(pwrdm, pwrst); }