Subject: Re: PPC upstream kernel ignored DABR bug

From: Arnd Bergmann <[email-masked]>
Date: Wed, 28 Nov 2007 13:28:48 +0100

On Wednesday 28 November 2007, Jan Kratochvil wrote:
> Please be aware DABR works fine if the same code runs just 1 (always) or
> 2 (sometimes) threads.  It starts failing with too many threads running:
> 
> $ ./dabr-lost
> TID 32725: DABR 0x1001279f NIP 0xfecf41c
> TID 32726: DABR 0x1001279f NIP 0xfecf41c
> TID 32725: hitting the variable
> variable found = -1, caught TID = 32725
> TID 32726: hitting the variable
> variable found = -1, caught TID = 32726
> The kernel bug did not get reproduced - increase THREADS.
> 
> As I did not find any code in that kernel touching DABRX its value should not
> be dependent on the number of threads running.
> 

Right, this is a different problem from the one reported by Uli.
From what I can tell, your problem is that you set the DABR only
in one thread, so the other threads don't see it. DABR is saved
in the thread_struct, so setting it in one thread doesn't have
an impact on any other thread.

	Arnd <><