linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Boqun Feng <boqun.feng@gmail.com>,
	Josh Triplett <josh@joshtriplett.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	linux-kernel@vger.kernel.org
Subject: Re: next: suspicious RCU usage message since commit 'rcu: Remove superfluous versions of rcu_read_lock_sched_held()'
Date: Sun, 24 Apr 2016 14:31:47 -0700	[thread overview]
Message-ID: <20160424213147.GW3756@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160424211424.GA20388@roeck-us.net>

On Sun, Apr 24, 2016 at 02:14:24PM -0700, Guenter Roeck wrote:
> Hi,
> 
> I see the following log message when running a qemu test for 'beagle'
> with omap2plus_defconfig.
> 
> ===============================
> [ INFO: suspicious RCU usage. ]
> 4.6.0-rc4-next-20160422 #1 Not tainted
> -------------------------------
> include/trace/events/power.h:328 suspicious rcu_dereference_check() usage!
> 
> other info that might help us debug this:
> 
> 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/0/0.
> 
> stack backtrace:
> CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.6.0-rc4-next-20160422 #1
> Hardware name: Generic OMAP3-GP (Flattened Device Tree)
> [<c010f55c>] (unwind_backtrace) from [<c010b64c>] (show_stack+0x10/0x14)
> [<c010b64c>] (show_stack) from [<c047acbc>] (dump_stack+0xa8/0xe0)
> [<c047acbc>] (dump_stack) from [<c012bc10>] (pwrdm_set_next_pwrst+0xf8/0x1cc)
> [<c012bc10>] (pwrdm_set_next_pwrst) from [<c01269fc>] (omap3_enter_idle_bm+0x1b8/0x1e8)
> [<c01269fc>] (omap3_enter_idle_bm) from [<c05fa0b8>] (cpuidle_enter_state+0x84/0x408)
> [<c05fa0b8>] (cpuidle_enter_state) from [<c0182c1c>] (cpu_startup_entry+0x1c8/0x3f0)
> [<c0182c1c>] (cpu_startup_entry) from [<c0b00c20>] (start_kernel+0x354/0x3cc)
> 
> bisect points to commit 'rcu: Remove superfluous versions of
> rcu_read_lock_sched_held()'. Bisect log is attached.

I believe that the real fix is not a revert of that commit, but rather
that some of the tracing statements need an "_rcuidle" suffix.

Something like the following (untested, probably does not build) patch.

							Thanx, Paul

------------------------------------------------------------------------

commit ca91304178e1cf53ee391236a0ac3969cc814e5f
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Sun Apr 24 14:30:16 2016 -0700

    arm: Use _rcuidle tracepoint to allow use from idle
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

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);
 	}

  reply	other threads:[~2016-04-24 21:31 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-24 21:14 next: suspicious RCU usage message since commit 'rcu: Remove superfluous versions of rcu_read_lock_sched_held()' Guenter Roeck
2016-04-24 21:31 ` Paul E. McKenney [this message]
2016-04-24 23:56   ` Guenter Roeck
2016-04-25  5:28     ` Paul E. McKenney
2016-04-25  5:37       ` Guenter Roeck
2016-04-25  5:49         ` Paul E. McKenney
2016-04-25  6:26           ` Guenter Roeck
2016-04-25 17:12             ` Paul E. McKenney
2016-04-25 20:25               ` Guenter Roeck
2016-04-25 20:49                 ` Paul E. McKenney
2016-04-26  3:13                   ` Guenter Roeck
2016-05-14 15:42                   ` Guenter Roeck
2016-05-16 17:00                     ` Paul E. McKenney

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=20160424213147.GW3756@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=boqun.feng@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=rostedt@goodmis.org \
    /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).