Re: [rfc][patch 2/3] x86: fix IO write barriers

From: Andi Kleen
Date: Thu Oct 04 2007 - 14:58:42 EST


On Thursday 04 October 2007 20:41:07 Dave Jones wrote:
> On Thu, Oct 04, 2007 at 08:21:59PM +0200, Andi Kleen wrote:
> > On Thursday 04 October 2007 20:10:44 Dave Jones wrote:
> > > On Thu, Oct 04, 2007 at 07:53:16PM +0200, Andi Kleen wrote:
> > > >
> > > > > The only vendor that ever implemented OOSTOREs was Centaur, and they
> > > > > only did in the Winchip generation of the CPUs. When they dropped it
> > > > > from the C3, I asked whether they intended to bring it back, and the
> > > > > answer was "extremely unlikely".
> > > > >
> > > >
> > > > Do you know if it made a big performance difference?
> > >
> > > On the winchip, it was a huge win. I can't remember exact numbers,
> > > but pretty much every benchmark I threw at it at the time showed
> > > significant improvement.
> >
> > Significant as in >10%?
>
> "Worth about 10-20% performance" according to the 2.4.18pre9-ac4
> release notes: http://www.linuxtoday.com/news_story.php3?ltsn=2002-02-14-015-20-NW-KN

Are there numbers for a newer kernel available too?

> > > > But yes we should probably just remove this special case to make
> > > > maintenance easier.
> > > It's CONFIG_SMP anyway, which none of the winchips were.
> >
> > It's not.
>
> You're right it isn't now, but Nicks patch seems to change it so that it is.
>
> ...
>
> #ifdef CONFIG_SMP
> #define smp_mb() mb()
> #define smp_rmb() rmb()
> -#define smp_wmb() wmb()
> +#ifdef CONFIG_X86_OOSTORE
> +# define smp_wmb() wmb()
> +#else
> +# define smp_wmb() barrier()
> +#endif

That is only for smp_wmb() which are always SMP only

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