From: Eric Wheeler <bcache@lists.ewheeler.net>
To: Sitsofe Wheeler <sitsofe@gmail.com>
Cc: Kent Overstreet <kmo@daterainc.com>, Neil Brown <neilb@suse.de>,
linux-bcache@vger.kernel.org
Subject: Re: bcache blocking ops and lockdep warnings
Date: Wed, 10 Dec 2014 11:51:13 -0800 (PST) [thread overview]
Message-ID: <alpine.DEB.2.02.1412101149490.26982@ware.dreamhost.com> (raw)
In-Reply-To: <20141210061552.GA2062@sucs.org>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 5074 bytes --]
On Wed, 10 Dec 2014, Sitsofe Wheeler wrote:
> Hi,
>
> After doing
> make-bcache -B /dev/sdf
> make-bcache -C /dev/sdh
> ls -l /sys/fs/bcache
> echo 1110734d-230c-4b8f-a63d-dff472a0977b > /sys/block/bcache0/bcache/attach
>
> the following warnings were produced with a 3.18.0.x86_64-01967-g86c6a2f
> kernel:
Try the attached patches.
These have resolved all of the bcache backtraces that we have had issues
with in the past few months.
--
Eric Wheeler, President eWheeler, Inc. dba Global Linux Security
888-LINUX26 (888-546-8926) Fax: 503-716-3878 PO Box 25107
www.GlobalLinuxSecurity.pro Linux since 1996! Portland, OR 97298
>
> [ 75.218601] bcache: register_bdev() registered backing device sdf
> [ 82.616568] bcache: run_cache_set() invalidating existing data
> [ 82.621589] ------------[ cut here ]------------
> [ 82.622890] WARNING: CPU: 1 PID: 979 at kernel/sched/core.c:7301 __might_sleep+0x5c/0xa0()
> [ 82.624344] do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff8155afc8>] bch_allocator_thread+0xd8/0xe30
> [ 82.625979] CPU: 1 PID: 979 Comm: bcache_allocato Not tainted 3.18.0.x86_64-01967-g86c6a2f #162
> [ 82.627468] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012
> [ 82.628949] 0000000000000009 ffff8800da963ce8 ffffffff816ea8af 0000000000000001
> [ 82.634007] ffff8800da963d38 ffff8800da963d28 ffffffff81073f3c ffff8800da963d28
> [ 82.639020] ffffffff819d431c 0000000000000038 0000000000000000 ffff8800e468a680
> [ 82.643967] Call Trace:
> [ 82.645045] [<ffffffff816ea8af>] dump_stack+0x4e/0x68
> [ 82.646345] [<ffffffff81073f3c>] warn_slowpath_common+0x7c/0xa0
> [ 82.647622] [<ffffffff81073fc6>] warn_slowpath_fmt+0x46/0x50
> [ 82.648954] [<ffffffff8155afc8>] ? bch_allocator_thread+0xd8/0xe30
> [ 82.650338] [<ffffffff8155afc8>] ? bch_allocator_thread+0xd8/0xe30
> [ 82.651667] [<ffffffff810a2e2c>] __might_sleep+0x5c/0xa0
> [ 82.652959] [<ffffffff8155b0b7>] bch_allocator_thread+0x1c7/0xe30
> [ 82.654335] [<ffffffff8155aef0>] ? bch_invalidate_one_bucket+0x80/0x80
> [ 82.655672] [<ffffffff81091a03>] kthread+0x103/0x110
> [ 82.656939] [<ffffffff81091900>] ? __kthread_unpark+0x50/0x50
> [ 82.658294] [<ffffffff816f43fc>] ret_from_fork+0x7c/0xb0
> [ 82.659664] [<ffffffff81091900>] ? __kthread_unpark+0x50/0x50
> [ 82.660970] ---[ end trace 15295ea1be01c8a2 ]---
> [ 82.683570] ------------[ cut here ]------------
> [ 82.684559] WARNING: CPU: 7 PID: 974 at kernel/locking/lockdep.c:712 __lock_acquire+0x21c/0x1c60()
> [ 82.684559] CPU: 7 PID: 974 Comm: bcache-register Tainted: G W 3.18.0.x86_64-01967-g86c6a2f #162
> [ 82.684559] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012
> [ 82.684559] 0000000000000009 ffff8800dac8f988 ffffffff816ea8af 0000000000000000
> [ 82.684559] 0000000000000000 ffff8800dac8f9c8 ffffffff81073f3c ffff8800dac8f9c8
> [ 82.684559] ffffffff82668240 0000000000000000 ffff8800dac3da88 0000000000000001
> [ 82.684559] Call Trace:
> [ 82.684559] [<ffffffff816ea8af>] dump_stack+0x4e/0x68
> [ 82.684559] [<ffffffff81073f3c>] warn_slowpath_common+0x7c/0xa0
> [ 82.684559] [<ffffffff8107403a>] warn_slowpath_null+0x1a/0x20
> [ 82.684559] [<ffffffff810c0d5c>] __lock_acquire+0x21c/0x1c60
> [ 82.684559] [<ffffffff813b24ae>] ? trace_hardirqs_on_thunk+0x3a/0x3f
> [ 82.684559] [<ffffffff810d624f>] ? rcu_irq_exit+0x8f/0xb0
> [ 82.684559] [<ffffffff810c2706>] ? __lock_acquire+0x1bc6/0x1c60
> [ 82.684559] [<ffffffff810c305c>] lock_acquire+0xfc/0x150
> [ 82.684559] [<ffffffff8156346c>] ? mca_reap+0x6c/0x170
> [ 82.684559] [<ffffffff810bc131>] down_write_trylock+0x61/0x80
> [ 82.684559] [<ffffffff8156346c>] ? mca_reap+0x6c/0x170
> [ 82.684559] [<ffffffff8156346c>] mca_reap+0x6c/0x170
> [ 82.684559] [<ffffffff81563900>] mca_alloc+0xe0/0x4b0
> [ 82.684559] [<ffffffff81564893>] __bch_btree_node_alloc+0xb3/0x240
> [ 82.684559] [<ffffffff815760da>] run_cache_set+0x6ea/0x950
> [ 82.684559] [<ffffffff8123fc6e>] ? kernfs_add_one+0x10e/0x160
> [ 82.684559] [<ffffffff815780cf>] register_bcache+0x167f/0x19e0
> [ 82.684559] [<ffffffff813a6bcf>] kobj_attr_store+0xf/0x20
> [ 82.684559] [<ffffffff812419a8>] sysfs_kf_write+0x48/0x60
> [ 82.684559] [<ffffffff81241247>] kernfs_fop_write+0xe7/0x170
> [ 82.684559] [<ffffffff811cde6b>] vfs_write+0xcb/0x1d0
> [ 82.684559] [<ffffffff816f50dc>] ? retint_swapgs+0x13/0x1b
> [ 82.684559] [<ffffffff811ce069>] SyS_write+0x49/0xb0
> [ 82.684559] [<ffffffff816f44a9>] system_call_fastpath+0x12/0x17
> [ 82.684559] ---[ end trace 15295ea1be01c8a3 ]---
> [ 82.763919] bcache: register_cache() registered cache device sdh
>
> --
> Sitsofe | http://sucs.org/~sits/
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bcache" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: TEXT/x-diff; name=bcache-rcu-sched-bugfix.patch, Size: 498 bytes --]
diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c
index 00cde40..d14560a 100644
--- a/drivers/md/bcache/btree.c
+++ b/drivers/md/bcache/btree.c
@@ -2162,8 +2162,10 @@ int bch_btree_insert_check_key(struct btree *b, struct btree_op *op,
rw_lock(true, b, b->level);
if (b->key.ptr[0] != btree_ptr ||
- b->seq != seq + 1)
+ b->seq != seq + 1) {
+ op->lock = b->c->root->level + 1;
goto out;
+ }
}
SET_KEY_PTRS(check_key, 1);
--
1.7.1
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: Type: TEXT/x-diff; name=bcache-cond_resched.patch, Size: 334 bytes --]
--- a/drivers/md/bcache/btree.c 2014-11-03 16:51:01.720000000 -0800
+++ b/drivers/md/bcache/btree.c 2014-11-03 16:51:26.456000000 -0800
@@ -1741,6 +1741,7 @@
do {
ret = btree_root(gc_root, c, &op, &writes, &stats);
closure_sync(&writes);
+ cond_resched();
if (ret && ret != -EAGAIN)
pr_warn("gc failed!");
prev parent reply other threads:[~2014-12-10 19:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-10 6:15 bcache blocking ops and lockdep warnings Sitsofe Wheeler
2014-12-10 19:51 ` Eric Wheeler [this message]
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.DEB.2.02.1412101149490.26982@ware.dreamhost.com \
--to=bcache@lists.ewheeler.net \
--cc=kmo@daterainc.com \
--cc=linux-bcache@vger.kernel.org \
--cc=neilb@suse.de \
--cc=sitsofe@gmail.com \
/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