Thread (13 messages) flat view 13 messages, 5 authors, 2008-03-13

Re: PPC upstream kernel ignored DABR bug

From: Arnd Bergmann <arnd@arndb.de>
Date: 2007-11-27 22:36:34

On Monday 26 November 2007, Jan Kratochvil wrote:
Hi,
=20
this testcase:
=A0=A0=A0=A0=A0=A0=A0=A0http://people.redhat.com/jkratoch/dabr-lost.c
=20
reproduces a PPC DABR kernel bug. =A0The variable `variable' should not g=
et
modified as the thread modifying it should be caught by its DABR:
=20
$ ./dabr-lost
TID 30914: DABR 0x10012a77 NIP 0x80f6ebb318
TID 30915: DABR 0x10012a77 NIP 0x80f6ebb318
TID 30916: DABR 0x10012a77 NIP 0x80f6ebb318
TID 30914: hitting the variable
TID 30915: hitting the variable
TID 30916: hitting the variable
variable found =3D 30916, caught TID =3D 30914
TID 30916: DABR 0x10012a77
Variable got modified by a thread which has DABR still set!
=20
This sounds like a bug recently reported by Uli Weigand. BenH
said he'd take a look, but it probably fell under the table.
The problem found by Uli is that on certain processors (Cell/B.E.
in his case), the DABRX register needs to be set in order for
the DABR to take effect.

	Arnd <><
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help