Subject: Re: [Kgdb-bugreport] 2.6.23-rc3-mm1: kgdb build failure on powerpc

From: Jason Wessel <[email-masked]>
Date: Wed, 22 Aug 2007 22:25:32 -0500

Andrew Morton wrote:
> On Wed, 22 Aug 2007 17:44:12 -0500
> Jason Wessel <[email-masked]> wrote:
>
>   
>> +	while (!atomic_read(&debugger_active));
>>     
>
> eek.  We're in the process of hunting down and eliminating exactly this
> construct.  There have been cases where the compiler cached the
> atomic_read() result in a register, turning the above into an infinite
> loop.
>
> Plus we should never add power-burners like that into the kernel anyway. 
> That loop should have a cpu_relax() in it.  Which will also fix the
> compiler problem described above.
>
>   
Agreed, and fixed with a cpu_relax.

> Thirdly, please always add a newline when coding statements like that:
>
> 	while (expr())
> 		;
>   

The other instances I found of the same problem in the kgdb core are 
fixed too.

I merged all the changes into the for_mm branch in the kgdb git tree.

Thanks,
Jason.