All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Darren Hart <dvhltc@us.ibm.com>
Cc: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>,
	Theodore Tso <tytso@MIT.EDU>,
	Arjan van de Ven <arjan@linux.intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>,
	Ingo Molnar <mingo@elte.hu>,
	Nick Piggin <nickpiggin@yahoo.com.au>
Subject: Re: kernel BUG at fs/ext/super.c:428
Date: Mon, 26 Jan 2009 17:46:11 +0100	[thread overview]
Message-ID: <1232988371.4863.162.camel@laptop> (raw)
In-Reply-To: <497DE73B.4050602@us.ibm.com>

On Mon, 2009-01-26 at 08:39 -0800, Darren Hart wrote:

> > diff --git a/kernel/futex.c b/kernel/futex.c
> > index f89d373..f4132ab 100644
> > --- a/kernel/futex.c
> > +++ b/kernel/futex.c
> > @@ -929,7 +929,7 @@ out_unlock:
> > 
> >  	/* drop_futex_key_refs() must be called outside the spinlocks. */
> >  	while (--drop_count >= 0)
> > -		drop_futex_key_refs(&key1);
> > +		drop_futex_key_refs(&key2);
> 
> Unfortunately, I realized later that this code was indeed correct and I 
> asked Ingo to pull my patch implementing the above change.  Quoting my 
> previous mail on the subject:
> 
> "I believe what is happening here is that the requeue loop requeues each 
> waiter from one futex (key1) to another (key2).  It rightly takes a 
> reference to the futex at key2 and then decrements the references to 
> key1 by drop_count (since the waiters now reference key2, not key1). 
> The newly taken key2 references will be dropped in futex_wait() when 
> each waiter is woken up and takes the futex."

Argh, that wants a comment..


  reply	other threads:[~2009-01-26 16:46 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-10  0:36 kernel BUG at fs/ext/super.c:428 Pallipadi, Venkatesh
2009-01-14  0:48 ` Andrew Morton
2009-01-14  1:44   ` Theodore Tso
2009-01-14  2:48     ` Arjan van de Ven
2009-01-14  2:48       ` Arjan van de Ven
2009-01-14  4:40       ` Theodore Tso
2009-01-14 19:16         ` Pallipadi, Venkatesh
2009-01-14 19:16           ` Pallipadi, Venkatesh
2009-01-14 19:29           ` Peter Zijlstra
2009-01-14 19:38             ` Pallipadi, Venkatesh
2009-01-14 19:42               ` Peter Zijlstra
2009-01-14 19:48                 ` Pallipadi, Venkatesh
2009-01-14 21:20             ` Theodore Tso
2009-01-21 20:10               ` Pallipadi, Venkatesh
2009-01-21 20:10                 ` Pallipadi, Venkatesh
2009-01-24  7:36                 ` Peter Zijlstra
2009-01-24  7:36                   ` Peter Zijlstra
2009-01-26 16:39                   ` Darren Hart
2009-01-26 16:39                     ` Darren Hart
2009-01-26 16:46                     ` Peter Zijlstra [this message]
2009-01-26 17:12                       ` Darren Hart

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=1232988371.4863.162.camel@laptop \
    --to=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@linux.intel.com \
    --cc=dvhltc@us.ibm.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nickpiggin@yahoo.com.au \
    --cc=tytso@MIT.EDU \
    --cc=venkatesh.pallipadi@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.