[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86802c440807181001h4426c197vc474f81497a5b42@mail.gmail.com>
Date: Fri, 18 Jul 2008 10:01:07 -0700
From: "Yinghai Lu" <yhlu.kernel@...il.com>
To: "Ingo Molnar" <mingo@...e.hu>
Cc: "Maciej W. Rozycki" <macro@...ux-mips.org>, x86@...nel.org,
linux-kernel@...r.kernel.org,
"Suresh Siddha" <suresh.b.siddha@...el.com>,
"Jeremy Fitzhardinge" <jeremy@...p.org>,
"Zachary Amsden" <zach@...are.com>
Subject: Re: [PATCH] x86: APIC: Remove apic_write_around(); use alternatives
On Fri, Jul 18, 2008 at 9:25 AM, Yinghai Lu <yhlu.kernel@...il.com> wrote:
> On Fri, Jul 18, 2008 at 3:52 AM, Ingo Molnar <mingo@...e.hu> wrote:
>>
>> * Maciej W. Rozycki <macro@...ux-mips.org> wrote:
>>
>>> Use alternatives to select the workaround for the 11AP Pentium
>>> erratum for the affected steppings on the fly rather than build time.
>>> Remove the X86_GOOD_APIC configuration option and replace all the
>>> calls to apic_write_around() with plain apic_write(), protecting
>>> accesses to the ESR as appropriate due to the 3AP Pentium erratum.
>>> Remove apic_read_around() and all its invocations altogether as not
>>> needed. Remove apic_write_atomic() and all its implementing backends.
>>> The use of ASM_OUTPUT2() is not strictly needed for input constraints,
>>> but I have used it for readability's sake.
>>
>> wow, impressive patch!
>>
>>> I had the feeling no one else was brave enough to do it, so I went
>>> ahead and here it is. Verified by checking the generated assembly and
>>> tested with both a 32-bit and a 64-bit configuration, also with the
>>> 11AP "feature" forced on and verified with gdb on /proc/kcore to work
>>> as expected (as an 11AP machines are quite hard to get hands on these
>>> days). Some script complained about the use of "volatile", but
>>> apic_write() needs it for the same reason and is effectively a
>>> replacement for writel(), so I have disregarded it.
>>
>> kudos for pulling this off :-)
>>
>> applied to tip/x86/apic. This will interact with tip/x86/x2apic but that
>> topic is being worked on anyway. The interaction should be trivial.
>
> it seems we should start apic related merging after x2apic get merged?
>
> git merge tip/x86/x2apic
Auto-merged Documentation/kernel-parameters.txt
Auto-merged arch/x86/Kconfig
Auto-merged arch/x86/kernel/Makefile
CONFLICT (content): Merge conflict in arch/x86/kernel/Makefile
Auto-merged arch/x86/kernel/acpi/boot.c
Auto-merged arch/x86/kernel/apic_32.c
Auto-merged arch/x86/kernel/apic_64.c
Auto-merged arch/x86/kernel/cpu/common_64.c
Auto-merged arch/x86/kernel/genx2apic_uv_x.c
Auto-merged arch/x86/kernel/io_apic_32.c
Auto-merged arch/x86/kernel/io_apic_64.c
Auto-merged arch/x86/kernel/paravirt.c
CONFLICT (content): Merge conflict in arch/x86/kernel/paravirt.c
Auto-merged arch/x86/kernel/setup.c
Auto-merged arch/x86/kernel/smpboot.c
CONFLICT (content): Merge conflict in arch/x86/kernel/smpboot.c
Auto-merged arch/x86/kernel/vmi_32.c
CONFLICT (content): Merge conflict in arch/x86/kernel/vmi_32.c
Auto-merged arch/x86/lguest/boot.c
Auto-merged arch/x86/xen/enlighten.c
CONFLICT (content): Merge conflict in arch/x86/xen/enlighten.c
Auto-merged drivers/pci/Makefile
Auto-merged drivers/pci/intel-iommu.c
Auto-merged include/asm-x86/apic.h
CONFLICT (content): Merge conflict in include/asm-x86/apic.h
Auto-merged include/asm-x86/cpufeature.h
Auto-merged include/asm-x86/genapic_64.h
Auto-merged include/asm-x86/hw_irq.h
Auto-merged include/asm-x86/io_apic.h
Auto-merged include/asm-x86/ipi.h
Auto-merged include/asm-x86/mach-default/mach_apic.h
Auto-merged include/asm-x86/mach-es7000/mach_apic.h
Auto-merged include/asm-x86/paravirt.h
CONFLICT (content): Merge conflict in include/asm-x86/paravirt.h
Auto-merged include/asm-x86/smp.h
Auto-merged include/linux/irq.h
Auto-merged kernel/irq/manage.c
Automatic merge failed; fix conflicts and then commit the result.
also please apply
Fix VMI apic_ops.
from Suresh
to x2apic
YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists