Re: [PATCH] x86: APIC: Remove apic_write_around(); use alternatives

From: Zachary Amsden
Date: Fri Jul 18 2008 - 18:43:44 EST


On Fri, 2008-07-18 at 15:02 -0700, Maciej W. Rozycki wrote:
> On Fri, 18 Jul 2008, Yinghai Lu wrote:
>
> > CC arch/x86/kernel/apic_64.o
> > arch/x86/kernel/apic_64.c:170: error: unknown field 'write_atomic'
> > specified in initializer
> > arch/x86/kernel/apic_64.c:170: error: 'native_apic_mem_write_atomic'
> > undeclared here (not in a function)
> > arch/x86/kernel/apic_64.c:209: error: unknown field 'write_atomic'
> > specified in initializer
> > arch/x86/kernel/apic_64.c:209: warning: initialization from
> > incompatible pointer type
> > make[1]: *** [arch/x86/kernel/apic_64.o] Error 1
> > make: *** [arch/x86/kernel] Error 2
>
> Just remove the offending initialisers. They are not needed anymore as
> the .write method is now used universally including places where
> .write_atomic was. I just could not stand watching the thing
> proliferate...

Thank you for cleaning this up Yinghai, but this really begs the
question - is having write_atomic REALLY worthwhile?

Intel themselves have not supported the affected processors since
October 17, 2000, and here we are writing code for it, when the last
processor with such a flaw (C2 or cB1 stepping Pentium) was stamped in
1995, over 13 years ago. It might have been relevant when Linus was
developing SMP support in '96, but it isn't now.

In fact, anyone running a 120 Mhz or 133 Mhz Pentium processor that has
been obsoleted for 8 years should at this point be shot for wasting
energy with their poor megawatt/megaflop ratio, doubly so if they can
claim to be doing so in some kind of SMP scenario which even requires
using an APIC at all.

Seriously, please consider removing all of the flaming crap surrounding
apic_write_around entirely and forcing users who compile for less than
686 processors to just not have official support for local APIC at all,
or just default it off and let people turn it on at own risk.

Zach

--
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/