All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kent Overstreet <kmo@daterainc.com>
To: Eric Wheeler <linux-bcache@lists.ewheeler.net>
Cc: linux-bcache@vger.kernel.org, Ross Anderson <rosander@dsotm.net>,
	Stefan Priebe <s.priebe@profihost.ag>
Subject: Re: 3.17-rc6: bcache_gc: BUG: soft lockup - CPU#2 stuck for 23s!
Date: Sat, 1 Nov 2014 13:44:47 -0700	[thread overview]
Message-ID: <20141101204447.GB22219@kmo-pixel> (raw)
In-Reply-To: <alpine.DEB.2.00.1409281651340.15834@ware.dreamhost.com>

On Sun, Sep 28, 2014 at 05:25:37PM -0700, Eric Wheeler wrote:
> Hello Kent, Ross, all:
> 
> We're getting bcache_gc backtraces and soft lockups; the system continues to
> be responsive and eventually recovers.  We are running 3.17-rc6. (This
> appears to be a continuation of the thread from 2014-09-15)
> 
> Please see the following two backtraces.  The first shows up in
> btree_gc_count_keys(), the other is triggered somehow by rcu_sched.  We will
> test with -rc7 this week, though I didn't see any bcache commits in rc7.
> 
> The server is quite busy:
>   dd in userspace from dm-thinp snapshots to another server
>   two DRBD verify's active backed by dm-thinp volumes
>   note that, dd fills up the buffers so this could be operating with few
>   pages free. (Though we have min-mem set to 256MB.)
> 
> I see we are hitting functions like bch_ptr_bad() and bch_extent_bad().
> Could that indicate a cache corruption on our volume?

No - those are the normal "check the validity of medata" functions.

> I'm happy to test patches if you have any suggestions or tests that I should
> run it through.

I think it might just be a missing cond_resched()... there's a check during
garbage collection for need_resched() but it appears we might not actually be
calling schedule() then.

Try this patch:

commit a64afc92e17e709bdd1618edd04bc608f6a44c55
Author: Kent Overstreet <kmo@daterainc.com>
Date:   Sat Nov 1 13:44:13 2014 -0700

    bcache: Add a cond_resched() call to gc
    
    Change-Id: Id4f18c533b80ddb40df94ed0bb5e2a236a4bc325

diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c
index 00cde40db5..218f21ac02 100644
--- a/drivers/md/bcache/btree.c
+++ b/drivers/md/bcache/btree.c
@@ -1741,6 +1741,7 @@ static void bch_btree_gc(struct cache_set *c)
 	do {
 		ret = btree_root(gc_root, c, &op, &writes, &stats);
 		closure_sync(&writes);
+		cond_resched();
 
 		if (ret && ret != -EAGAIN)
 			pr_warn("gc failed!");

  parent reply	other threads:[~2014-11-01 20:42 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-29  0:25 3.17-rc6: bcache_gc: BUG: soft lockup - CPU#2 stuck for 23s! Eric Wheeler
2014-10-27  2:52 ` 3.17: bcache_gc: BUG: soft lockup - CPU#2 stuck for 22s! Eric Wheeler
2014-10-31  9:20   ` Zhu Yanhai
2014-10-31 10:35     ` Re[2]: " Pavel Goran
2014-11-01  2:35     ` Eric Wheeler
2014-11-01 20:44 ` Kent Overstreet [this message]
2014-11-21 22:54   ` 3.17-rc6: bcache_gc: BUG: soft lockup - CPU#2 stuck for 23s! Stefan Seyfried
2014-11-21 23:20     ` Kent Overstreet
2014-11-22  0:22       ` Eric Wheeler
2014-11-22 12:46         ` Stefan Seyfried
2014-11-24 18:52           ` Eric Wheeler
2014-12-03  9:32             ` Stefan Seyfried
2014-12-03 11:25               ` Thomas Stein
2014-11-23 11:17         ` Thomas Stein
2014-11-24 18:49           ` Eric Wheeler

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=20141101204447.GB22219@kmo-pixel \
    --to=kmo@daterainc.com \
    --cc=linux-bcache@lists.ewheeler.net \
    --cc=linux-bcache@vger.kernel.org \
    --cc=rosander@dsotm.net \
    --cc=s.priebe@profihost.ag \
    /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.