All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: David Miller <davem@davemloft.net>
Cc: mingo@elte.hu, tglx@linutronix.de, linux-kernel@vger.kernel.org,
	linux-rt-users@vger.kernel.org
Subject: Re: BUG in 2.6.20-rt8
Date: Sun, 25 Feb 2007 17:52:30 -0800	[thread overview]
Message-ID: <20070226015230.GN5049@linux.vnet.ibm.com> (raw)
In-Reply-To: <20070224.223744.59470086.davem@davemloft.net>

On Sat, Feb 24, 2007 at 10:37:44PM -0800, David Miller wrote:
> From: Ingo Molnar <mingo@elte.hu>
> Date: Sun, 25 Feb 2007 07:27:47 +0100
> 
> > 
> > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> > 
> > > I got the following running stock 2.6.20-rt8 on an 4-CPU 1.8GHz 
> > > Opteron box.  The machine continued to run a few rounds of kernbench 
> > > and LTP. Looks a bit scary -- a tasklet was "stolen" from 
> > > __tasklet_action().
> > > 
> > > Thoughts?  In the meantime, kicking it off again to see if it repeats.
> > 
> > > BUG: at kernel/softirq.c:559 __tasklet_action()
> > 
> > this seems to happen very sporadically. Seems to happen more likely on 
> > hyperthreading CPUs. It is very likely caused by the 
> > redesign-tasklet-locking-to-be-sane patch below - which is a quick hack 
> > of mine from early -rt days. Can you see any obvious bug in it? The 
> > cmpxchg logic is certainly a bit ... tricky, locking-wise.
> 
> Ingo, please don't use cmpxchg() in generic code, we support several
> processors that simply cannot do it.

OK, I will bite...

Why doesn't the traditional hash table of locks work here?  Use the
cache-line address as input to the hash function, take the corresponding
lock, do the compare-and-exchange by hand, and then release the lock.
What am I missing here?  Address aliasing do to memory being mapped into
multiple locations or something?  (In that case, use only the portion
of the address within the page, right?)

I will agree that cmpxchg() has been abused pretty thoroughly in
some venues, but it does have legitimate uses.

						Thanx, Paul

> Instead of saying "it's just something special in -rt for now", take
> it out now so that what you do eventually push upstream does get
> tested.

  reply	other threads:[~2007-02-26  1:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-25  5:02 BUG in 2.6.20-rt8 Paul E. McKenney
2007-02-25  6:25 ` Paul E. McKenney
2007-02-25  6:27 ` Ingo Molnar
2007-02-25  6:37   ` David Miller
2007-02-26  1:52     ` Paul E. McKenney [this message]
2007-02-26  2:09       ` David Miller
2007-02-26  4:19         ` Nick Piggin
2007-02-26  1:25   ` Paul E. McKenney
2007-06-07 15:47 ` Steven Rostedt

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=20070226015230.GN5049@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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.