[patch 8/8] x86_64: Choose physflat for AMD systems only when >8 CPUS.

Ashok Raj
2005-08-01T21:12:48Z

[-- Attachment #1: choose-physflat-onlyfor-gt8cpus-amd --]
[-- Type: text/plain, Size: 1338 bytes --]

It is not required to choose the physflat mode when CPU hotplug is enabled
and CPUs <=8 case. Use of genapic_flat with the mask version is capable of
doing the same, instead of doing the send_IPI_mask_sequence() where its a
unicast.

This is another change that Andi introduced with the physflat mode.

Andi: Do you think this is acceptable?

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
---------------------------------------------------------------
arch/x86_64/kernel/genapic.c | 9 +--------
1 files changed, 1 insertion(+), 8 deletions(-)

Index: linux-2.6.13-rc4-mm1/arch/x86_64/kernel/genapic.c
===================================================================
--- linux-2.6.13-rc4-mm1.orig/arch/x86_64/kernel/genapic.c
+++ linux-2.6.13-rc4-mm1/arch/x86_64/kernel/genapic.c
@@ -69,15 +69,8 @@ void __init clustered_apic_check(void)
}

/* Don't use clustered mode on AMD platforms. */
- if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD) {
+ if ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) && (num_cpus > 8)) {
genapic = &apic_physflat;
- /* In the CPU hotplug case we cannot use broadcast mode
- because that opens a race when a CPU is removed.
- Stay at physflat mode in this case. - AK */
-#ifdef CONFIG_HOTPLUG_CPU
- if (num_cpus <= 8)
- genapic = &apic_flat;
-#endif
goto print;
}

--