Re: 2.6.16-rc1-mm4 i386 atomic operations broken on SMP (in modules at least)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday February 2, [email protected] wrote:
> Chuck Ebbert <[email protected]> wrote:
> >
> > In-Reply-To: <[email protected]>
> > 
> > On Thu, 2 Feb 2006 at 12:19:22 +1100, Neil Brown wrote:
> > 
> > > My guess is there is there is something wrong with the 'alternative'
> > > stuff which strips out the lock prefix, but I couldn't see anything
> > > obviously wrong.  The CPUs don't have FEATURE_UP (see below) so it
> > > cannot possibly be removing the 'lock' prefix... but it certainly acts
> > > like it is.
> > 
> > Look closer:
> > 
> > > flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
> > > cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm
> > > constant_tsc pni monitor ds_cpl cid xtpr
> >   ^^^^^^^^^^^^
> > 
> > SMP alternatives is re-using the constant_tsc X86 feature bit.
> > 
> > --- 2.6.16-rc1-mm4-386.orig/include/asm-i386/cpufeature.h
> > +++ 2.6.16-rc1-mm4-386/include/asm-i386/cpufeature.h
> > @@ -71,7 +71,7 @@
> >  #define X86_FEATURE_P4		(3*32+ 7) /* P4 */
> >  #define X86_FEATURE_CONSTANT_TSC (3*32+ 8) /* TSC ticks at a constant rate */
> >  
> > -#define X86_FEATURE_UP		(3*32+ 8) /* smp kernel running on up */
> > +#define X86_FEATURE_UP		(3*32+ 9) /* smp kernel running on up */
> >  
> >  /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */
> >  #define X86_FEATURE_XMM3	(4*32+ 0) /* Streaming SIMD Extensions-3 */
> 
> Darn, how did you spot that?

I can't say how he found the needle in the haystack, but I can confirm
that it fixes the problem.  I'm running -mm4 quite successfully with
this patch now.

Thanks!

Thinks.. maybe this typo would have been harder if the columns lined
up better, like this:
> >  #define X86_FEATURE_P4		(3*32+ 7) /* P4 */
> >  #define X86_FEATURE_CONSTANT_TSC   (3*32+ 8) /* TSC ticks at a constant rate */
> >  
> > -#define X86_FEATURE_UP		(3*32+ 8) /* smp kernel running on up */
> > +#define X86_FEATURE_UP		(3*32+ 9) /* smp kernel running on up */


NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux