linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Roland McGrath <roland@redhat.com>
To: Jens Osterkamp <jens@de.ibm.com>
Cc: linuxppc-dev@ozlabs.org,
	Jan Kratochvil <jan.kratochvil@redhat.com>,
	Paul Mackerras <paulus@samba.org>, Arnd Bergmann <arnd@arndb.de>
Subject: Re: PPC upstream kernel ignored DABR bug
Date: Wed, 12 Mar 2008 18:47:45 -0700 (PDT)	[thread overview]
Message-ID: <20080313014745.DE97826F992@magilla.localdomain> (raw)
In-Reply-To: Jens Osterkamp's message of  Wednesday, 12 March 2008 23:30:36 +0100 <200803122330.36905.jens@de.ibm.com>

AFAICT the DABRX register just has two global bits that enable paying
attention to the DABR register.  It only needs to be set once at boot time
(as the cell code does).  I don't see how missing that initialization could
ever have explained the behavior we see where DABR matches are intermittent.
If those DABRX bits weren't set then no DABR match would have happened.
(Apparently they are set before boot on an Apple G5.)

What we actually see is that DABR matches seem to be reliable when things
are slow, and get intermittent when there are enough threads with DABR set.

I searched the web trying to figure out what a DABRX register does so I
could just go try it myself rather than waiting another n months for powerpc
folks to forget about it again.  (I did try it, and 
	mtspr(SPRN_DABRX, DABRX_KERNEL | DABRX_USER);
makes no difference to the test on my machine, even done in set_dabr every
time we set SPRN_DABR.)

I happened across:

http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/79B6E24422AA101287256E93006C957E/$file/PowerPC_970FX_errata_DD3.X_V1.7.pdf

which is "IBM PowerPC 970FX RISC Microprocessor Errata List for DD3.X"
and contains "Erratum #8: DABRX register might not always be updated correctly":

	Projected Impact
	      The data address breakpoint function might not always work.
	Workaround
	      None.
	Status
	      A fix is not planned at this time for the PowerPC 970FX.

The only machine I have at home for testing powerpc is an Apple G5,
supplied to me by IBM.  It says:
	cpu             : PPC970FX, altivec supported
	revision        : 3.0 (pvr 003c 0300)
so I am guessing this document applies to the chips I have.  Since I can't
test on other chips myself, it is plausible from what I've seen that there
is no mysterious kernel problem and only this hardware problem.  The
description of the hardware problem would not make me think that it would
behave this way, but it is not very detailed or precise, or at least does
not seem so to a reader not expert on powerpc.

So, uh, go IBM!

I'm in the minority in this conversation as someone not expert on powerpc,
and as someone not employed by IBM.  (I don't really mind finding public IBM
documents about powerpc on the web and telling IBM powerpc folks about them.
But, well.)

I don't know what I can do next to tell whether this processor erratum is in
fact what's happening in the test case.  If it is, I don't know if there
might be some arcane way to work around it despite "None" cited above.


Thanks,
Roland

  reply	other threads:[~2008-03-13  1:48 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-26 22:02 PPC upstream kernel ignored DABR bug Jan Kratochvil
2007-11-27 22:35 ` Arnd Bergmann
2007-11-28  8:59   ` Jan Kratochvil
2007-11-28 12:28     ` Arnd Bergmann
2007-11-28 12:45       ` Jan Kratochvil
2007-11-28 22:59   ` Geoff Levand
2007-11-29  0:13     ` Arnd Bergmann
2008-03-10  0:53       ` Luis Machado
2008-03-10 14:01         ` Jens Osterkamp
2008-03-10 15:13           ` Luis Machado
2008-03-10 19:19           ` Roland McGrath
2008-03-10 19:36             ` Luis Machado
2008-03-10 19:50               ` Olof Johansson
2008-03-10 19:54                 ` Roland McGrath
2008-03-10 22:06             ` Segher Boessenkool
2008-03-12 17:51           ` Luis Machado
2008-03-12 22:30             ` Jens Osterkamp
2008-03-13  1:47               ` Roland McGrath [this message]
2008-03-13 22:20                 ` Segher Boessenkool
2008-03-13 22:42                   ` Roland McGrath
2008-03-14  2:11                     ` Segher Boessenkool
2008-03-14  7:45                       ` Roland McGrath
2008-03-14  8:42                         ` Segher Boessenkool
2008-03-16 20:38                           ` Benjamin Herrenschmidt
2008-03-16 20:37                   ` Benjamin Herrenschmidt
2008-03-26 20:57                 ` Josh Boyer
2008-03-27  1:47                   ` Josh Boyer
2008-03-13 13:13               ` Luis Machado

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=20080313014745.DE97826F992@magilla.localdomain \
    --to=roland@redhat.com \
    --cc=arnd@arndb.de \
    --cc=jan.kratochvil@redhat.com \
    --cc=jens@de.ibm.com \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=paulus@samba.org \
    /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;
as well as URLs for NNTP newsgroup(s).