public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <srostedt@redhat.com>
To: Fengguang Wu <fengguang.wu@intel.com>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	LKML <linux-kernel@vger.kernel.org>,
	rostedt@goodmis.org
Subject: Re: __update_max_tr: rcu_read_lock() used illegally while idle!
Date: Mon, 30 Jul 2012 11:39:12 -0400	[thread overview]
Message-ID: <1343662752.3847.2.camel@fedora> (raw)
In-Reply-To: <20120724090330.GA9830@localhost>

On Tue, 2012-07-24 at 17:03 +0800, Fengguang Wu wrote:
> Hi Steven,

Hi Fengguang,

Just an FYI, It's best to send email to my rostedt@goodmis.org account.
I don't check my redhat account every day.

> 
> This looks like some old bug, so I directly report to you w/o trying
> to bisect it. It only happens on the attached i386 randconfig and
> happens in about half of the kvm boots.
> 
> [    1.380369] Testing tracer irqsoff: [    1.524917] 
> [    1.525217] ===============================
> [    1.525868] [ INFO: suspicious RCU usage. ]
> [    1.526556] 3.5.0+ #1289 Not tainted
> [    1.527124] -------------------------------
> [    1.527799] /c/kernel-tests/src/linux/include/linux/rcupdate.h:730 rcu_read_lock() used illegally while idle!
> [    1.529375] 
> [    1.529375] other info that might help us debug this:
> [    1.529375] 
> [    1.530667] 
> [    1.530667] RCU used illegally from idle CPU!
> [    1.530667] rcu_scheduler_active = 1, debug_locks = 1
> [    1.532383] RCU used illegally from extended quiescent state!
> [    1.533297] 2 locks held by swapper/0/0:
> 
> [    1.533924]  #0: [    1.534271]  (max_trace_lock){......}, at: [<410e9d67>] check_critical_timing+0x67/0x1b0
> [    1.534883]  #1:  (rcu_read_lock){.+.+..}, at: [<410e1ea0>] __update_max_tr+0x0/0x200
> 
> [    1.534883] stack backtrace:
> [    1.534883] Pid: 0, comm: swapper/0 Not tainted 3.5.0+ #1289
> [    1.534883] Call Trace:
> [    1.534883]  [<41093a76>] lockdep_rcu_suspicious+0xc6/0x100
> [    1.534883]  [<410e2071>] __update_max_tr+0x1d1/0x200

This is very weird because __update_max_tr does not use rcu_read lock().
If you still have the kernel around (or can reproduce it), can you show
the objdump of the __update_max_tr function. I wonder if some debug
option requires RCU usage somewhere there.

Thanks,

-- Steve

> [    1.534883]  [<410e1ea0>] ? tracing_record_cmdline+0x130/0x130
> [    1.534883]  [<410e30f5>] update_max_tr_single+0x1f5/0x240
> [    1.534883]  [<410e294c>] ? __trace_stack+0x1c/0x30
> [    1.534883]  [<410e9e96>] check_critical_timing+0x196/0x1b0
> [    1.534883]  [<4100b858>] ? default_idle+0x468/0x4c0
> [    1.534883]  [<4100b858>] ? default_idle+0x468/0x4c0
> [    1.534883]  [<410ea47f>] time_hardirqs_on+0xff/0x110
> [    1.534883]  [<410961eb>] ? trace_hardirqs_on+0xb/0x10
> [    1.534883]  [<4100b858>] ? default_idle+0x468/0x4c0
> [    1.534883]  [<41096031>] trace_hardirqs_on_caller+0x11/0x1c0
> [    1.534883]  [<410961eb>] trace_hardirqs_on+0xb/0x10
> [    1.534883]  [<4100b858>] default_idle+0x468/0x4c0
> [    1.534883]  [<4100c4e6>] cpu_idle+0x186/0x190
> [    1.534883]  [<412953c3>] rest_init+0x127/0x134
> [    1.534883]  [<4129529c>] ? __read_lock_failed+0x14/0x14
> [    1.534883]  [<4141b9e0>] start_kernel+0x36f/0x375
> [    1.534883]  [<4141b4a6>] ? repair_env_string+0x51/0x51
> [    1.534883]  [<4141b2d4>] i386_start_kernel+0x8a/0x8f
> [    1.534883] 
> [    1.534883] ===============================
> 
> Thanks,
> Fengguang



  parent reply	other threads:[~2012-07-30 15:39 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-24  9:03 __update_max_tr: rcu_read_lock() used illegally while idle! Fengguang Wu
2012-07-24  9:07 ` Testing tracer wakeup_rt: .. no entries found ..FAILED! Fengguang Wu
2012-07-25  1:31   ` Testing tracer wakeup: " Fengguang Wu
2012-07-30 15:45   ` Testing tracer wakeup_rt: " Steven Rostedt
2012-07-31 12:17     ` Fengguang Wu
2012-07-31 12:37       ` Avi Kivity
2012-07-31 12:43         ` Steven Rostedt
2012-07-31 12:50           ` Avi Kivity
2012-07-31 13:13             ` Steven Rostedt
2012-07-31 23:43               ` Fengguang Wu
2012-07-31 23:51                 ` Steven Rostedt
2012-07-31 23:57                   ` Paul E. McKenney
2012-08-01  0:09                     ` Steven Rostedt
2012-08-01  0:18                       ` Paul E. McKenney
2012-08-01  0:43                         ` pci_get_subsys: GFP_KERNEL allocations with IRQs disabled Fengguang Wu
2012-08-22  2:50                           ` Fengguang Wu
2012-08-22  7:49                             ` Feng Tang
2012-08-22 13:02                               ` Fengguang Wu
2012-08-22 18:02                               ` Bjorn Helgaas
2012-08-23  5:45                                 ` Feng Tang
2012-08-23  7:45                                 ` [PATCH 1/2] PCI: Use local parameter pci_device_id for pci_get_subsys/class() Feng Tang
2012-09-08  1:00                                   ` Yinghai Lu
2012-09-08  1:32                                     ` Yinghai Lu
2012-09-08  1:59                                       ` Greg Kroah-Hartman
2012-09-08 13:42                                       ` Fengguang Wu
2012-09-08 15:30                                         ` Yinghai Lu
2012-09-08 15:34                                         ` Feng Tang
2012-09-08 18:40                                           ` Yinghai Lu
2012-09-08 21:06                                             ` Bjorn Helgaas
2012-08-23  7:45                                 ` [PATCH 2/2] PCI: Remove the obsolete no_pci_devices() check Feng Tang
2012-07-31 23:57                   ` Testing tracer wakeup_rt: .. no entries found ..FAILED! Fengguang Wu
2012-08-07 13:29                     ` Steven Rostedt
2012-08-07 13:32                       ` Fengguang Wu
2012-08-21 15:16     ` [tip:perf/core] tracing: Fix wakeup_rt self test on virtual machines tip-bot for Steven Rostedt
2012-07-30 15:39 ` Steven Rostedt [this message]
2012-07-31 12:05   ` __update_max_tr: rcu_read_lock() used illegally while idle! Fengguang Wu
2012-07-31 12:10     ` Fengguang Wu
2012-07-31 13:44       ` Steven Rostedt
2012-07-31 14:41         ` Paul E. McKenney
2012-07-31 13:33     ` Steven Rostedt
2012-07-31 14:44       ` Paul E. McKenney
2012-07-31 14:51         ` Steven Rostedt
2012-07-31 14:56           ` Steven Rostedt
2012-07-31 15:18             ` Paul E. McKenney
2012-07-31 15:45               ` Steven Rostedt
2012-07-31 17:17                 ` Paul E. McKenney
2012-07-31 17:24                   ` Steven Rostedt
2012-07-31 17:44                     ` Paul E. McKenney
2012-07-31 18:06                       ` Steven Rostedt
2012-07-31 18:21                         ` Paul E. McKenney
2012-07-31 15: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=1343662752.3847.2.camel@fedora \
    --to=srostedt@redhat.com \
    --cc=fengguang.wu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --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