From: Thomas Gleixner <tglx@linutronix.de>
To: Mike Galbraith <efault@gmx.de>
Cc: "linux-rt-users@vger.kernel.org" <linux-rt-users@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: 3.4.4-rt13: btrfs + xfstests 006 = BOOM.. and a bonus rt_mutex deadlock report for absolutely free!
Date: Thu, 12 Jul 2012 13:43:28 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.02.1207121310420.32033@ionos> (raw)
In-Reply-To: <1342086792.7707.9.camel@marge.simpson.net>
On Thu, 12 Jul 2012, Mike Galbraith wrote:
> On Thu, 2012-07-12 at 10:44 +0200, Mike Galbraith wrote:
> > On Thu, 2012-07-12 at 07:47 +0200, Mike Galbraith wrote:
> > > Greetings,
> > >
> > > I'm chasing btrfs critters in an enterprise 3.0-rt kernel, and just
> > > checked to see if they're alive in virgin latest/greatest rt kernel.
> > >
> > > Both are indeed alive and well, ie I didn't break it, nor did the
> > > zillion patches in enterprise base kernel, so others may have an
> > > opportunity to meet these critters up close and personal as well.
> >
> > 3.2-rt both explodes and deadlocks as well. 3.0-rt (virgin I mean) does
> > neither, so with enough re-integrate investment, it might be bisectable.
>
> Nope, virgin 3.0-rt just didn't feel like it at the time. Booted it
> again to run hefty test over lunch, it didn't survive 1 xfstests 006,
> much less hundreds.
>
> crash> bt
> PID: 7604 TASK: ffff880174238b20 CPU: 0 COMMAND: "btrfs-worker-0"
> #0 [ffff88017455d9c8] machine_kexec at ffffffff81025794
> #1 [ffff88017455da28] crash_kexec at ffffffff8109781d
> #2 [ffff88017455daf8] panic at ffffffff814a0661
> #3 [ffff88017455db78] __try_to_take_rt_mutex at ffffffff81086d2f
> #4 [ffff88017455dbc8] rt_spin_lock_slowlock at ffffffff814a2670
> #5 [ffff88017455dca8] rt_spin_lock at ffffffff814a2db9
> #6 [ffff88017455dcb8] schedule_bio at ffffffff81243133
> #7 [ffff88017455dcf8] btrfs_map_bio at ffffffff812477be
> #8 [ffff88017455dd68] __btree_submit_bio_done at ffffffff812152f6
> #9 [ffff88017455dd78] run_one_async_done at ffffffff812148fa
> #10 [ffff88017455dd98] run_ordered_completions at ffffffff812493e8
> #11 [ffff88017455ddd8] worker_loop at ffffffff81249dc9
> #12 [ffff88017455de88] kthread at ffffffff81070266
> #13 [ffff88017455df48] kernel_thread_helper at ffffffff814a9be4
> crash> struct rt_mutex 0xffff880174530108
> struct rt_mutex {
> wait_lock = {
> raw_lock = {
> slock = 7966
> }
> },
> wait_list = {
> node_list = {
> next = 0xffff880175ecc970,
> prev = 0xffff880175ecc970
> },
> rawlock = 0xffff880175ecc968,
Pointer into lala land again.
rawlock points to ...968 and the node_list to ...970.
struct rt_mutex {
raw_spinlock_t wait_lock;
struct plist_head wait_list;
The raw_lock pointer of the plist_head is initialized in
__rt_mutex_init() so it points to wait_lock.
Can you check the offset of wait_list vs. the rt_mutex itself?
I wouldn't be surprised if it's exactly 8 bytes. And then this thing
looks like a copied lock with stale pointers to hell. Eew.
Thanks,
tglx
next prev parent reply other threads:[~2012-07-12 11:43 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-12 5:47 3.4.4-rt13: btrfs + xfstests 006 = BOOM.. and a bonus rt_mutex deadlock report for absolutely free! Mike Galbraith
2012-07-12 8:44 ` Mike Galbraith
2012-07-12 9:53 ` Mike Galbraith
2012-07-12 11:43 ` Thomas Gleixner [this message]
2012-07-12 11:57 ` Mike Galbraith
2012-07-12 13:31 ` Thomas Gleixner
2012-07-12 13:37 ` Mike Galbraith
2012-07-12 13:43 ` Thomas Gleixner
2012-07-12 13:48 ` Mike Galbraith
2012-07-12 13:51 ` Mike Galbraith
2012-07-13 6:31 ` Mike Galbraith
2012-07-13 9:52 ` Thomas Gleixner
2012-07-13 10:14 ` Mike Galbraith
2012-07-13 10:26 ` Thomas Gleixner
2012-07-13 10:47 ` Chris Mason
2012-07-13 12:50 ` Mike Galbraith
2012-07-12 11:07 ` Thomas Gleixner
2012-07-12 17:09 ` Chris Mason
2012-07-13 10:04 ` Thomas Gleixner
2012-07-13 12:50 ` Chris Mason
2012-07-13 14:47 ` Thomas Gleixner
2012-07-14 10:14 ` Mike Galbraith
2012-07-15 17:56 ` Chris Mason
2012-07-16 2:02 ` Mike Galbraith
2012-07-16 16:02 ` Steven Rostedt
2012-07-16 16:26 ` Mike Galbraith
2012-07-16 16:35 ` Chris Mason
2012-07-16 16:36 ` Mike Galbraith
2012-07-16 17:03 ` Steven Rostedt
2012-07-17 4:18 ` Mike Galbraith
2012-07-17 4:27 ` Steven Rostedt
2012-07-17 4:34 ` Steven Rostedt
2012-07-17 4:46 ` Mike Galbraith
2012-07-17 4:44 ` Mike Galbraith
2012-07-17 12:54 ` Mike Galbraith
2012-07-16 10:55 ` Mike Galbraith
2012-07-16 15:43 ` Chris Mason
2012-07-16 16:16 ` Mike Galbraith
2012-07-14 13:38 ` Mike Galbraith
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=alpine.LFD.2.02.1207121310420.32033@ionos \
--to=tglx@linutronix.de \
--cc=efault@gmx.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=peterz@infradead.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.