From: Ingo Molnar <mingo@elte.hu>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
"Tantilov, Emil S" <emil.s.tantilov@intel.com>,
"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>,
netdev <netdev@vger.kernel.org>,
David Miller <davem@davemloft.net>,
"Waskiewicz Jr, Peter P" <peter.p.waskiewicz.jr@intel.com>,
"Duyck, Alexander H" <alexander.h.duyck@intel.com>,
Eric Dumazet <dada1@cosmosbay.com>,
linux-kernel@vger.kernel.org
Subject: Re: [patch] locking, percpu counters: introduce separate lock classes
Date: Tue, 30 Dec 2008 07:05:36 +0100 [thread overview]
Message-ID: <20081230060536.GG11037@elte.hu> (raw)
In-Reply-To: <20081230035815.GA16454@gondor.apana.org.au>
* Herbert Xu <herbert@gondor.apana.org.au> wrote:
> On Mon, Dec 29, 2008 at 03:14:17PM +0100, Ingo Molnar wrote:
> >
> > my testing efforts today are not particularly dominated by luck :-)
> >
> > Below is the latest splat that i got with Peter's patch plus the revert of
> > dd24c00191 applied.
>
> > [ 78.679386]
> > [ 78.679389] =================================
> > [ 78.680039] [ INFO: inconsistent lock state ]
> > [ 78.680039] 2.6.28-tip-03885-g44c31d5-dirty #13188
> > [ 78.680039] ---------------------------------
> > [ 78.680039] inconsistent {softirq-on-W} -> {in-softirq-W} usage.
> > [ 78.680039] ssh/4054 [HC0[0]:SC1[1]:HE1:SE0] takes:
> > [ 78.680039] (key#8){-+..}, at: [<c042710e>] __percpu_counter_add+0x52/0x7a
> > [ 78.680039] {softirq-on-W} state was registered at:
> > [ 78.680039] [<c0163e6e>] __lock_acquire+0x288/0xa93
> > [ 78.680039] [<c01646d6>] lock_acquire+0x5d/0x7a
> > [ 78.680039] [<c0ae0473>] _spin_lock+0x20/0x2f
> > [ 78.680039] [<c042710e>] __percpu_counter_add+0x52/0x7a
> > [ 78.680039] [<c09c3e2f>] percpu_counter_add+0xf/0x12
> > [ 78.680039] [<c09c50ef>] tcp_v4_init_sock+0xe5/0xea
>
> Right, this is the correct version of the earlier splat :)
>
> Anyway, I've extended Peter's patch to cover the other cases.
> Please let me know if it still bitches with this + Peter's fbc
> patch.
>
> net: Fix percpu counters deadlock
>
> When we converted the protocol atomic counters such as the orphan
> count and the total socket count deadlocks were introduced due to
> the mismatch in BH status of the spots that used the percpu counter
> operations.
>
> Based on the diagnosis and patch by Peter Zijlstra, this patch
> fixes these issues by disabling BH where we may be in process
> context.
>
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
thanks, will start testing it now.
One small nit: could you please add the Reported-by line for Jeff Kirscher
who reported the problem originally:
Reported-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Ingo
next prev parent reply other threads:[~2008-12-30 6:06 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-25 10:25 unsafe locks seen with netperf on net-2.6.29 tree Jeff Kirsher
2008-12-25 11:26 ` Herbert Xu
2008-12-26 14:08 ` Peter Zijlstra
2008-12-27 19:38 ` Tantilov, Emil S
2008-12-27 20:38 ` Peter Zijlstra
2008-12-28 0:54 ` Tantilov, Emil S
2008-12-29 10:02 ` Peter Zijlstra
2008-12-29 10:07 ` Herbert Xu
2008-12-29 10:16 ` Peter Zijlstra
2008-12-29 10:22 ` Herbert Xu
2008-12-29 10:31 ` Herbert Xu
2008-12-29 10:37 ` Herbert Xu
2008-12-29 11:28 ` Ingo Molnar
2008-12-29 11:31 ` Ingo Molnar
2008-12-29 11:49 ` Herbert Xu
2008-12-29 11:58 ` Ingo Molnar
2008-12-29 12:01 ` Herbert Xu
2008-12-29 12:16 ` Ingo Molnar
2008-12-29 12:38 ` Ingo Molnar
2008-12-29 12:44 ` [patch] locking, percpu counters: introduce separate lock classes Ingo Molnar
2008-12-29 14:14 ` Ingo Molnar
2008-12-30 3:58 ` Herbert Xu
2008-12-30 6:05 ` Ingo Molnar [this message]
2008-12-30 6:39 ` David Miller
2008-12-30 6:56 ` Ingo Molnar
2008-12-30 7:04 ` David Miller
2008-12-30 7:21 ` Ingo Molnar
2008-12-29 12:49 ` unsafe locks seen with netperf on net-2.6.29 tree Herbert Xu
2008-12-29 12:55 ` Ingo Molnar
2008-12-29 9:57 ` Ingo Molnar
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=20081230060536.GG11037@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=alexander.h.duyck@intel.com \
--cc=dada1@cosmosbay.com \
--cc=davem@davemloft.net \
--cc=emil.s.tantilov@intel.com \
--cc=herbert@gondor.apana.org.au \
--cc=jeffrey.t.kirsher@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=peter.p.waskiewicz.jr@intel.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 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.