To reduce boot time, removing the double startup IPI and 10 ms delay from lapic_cpu_init.c should be considered. Because I can test this code only on recent AMD cpu models, it is only safe to apply the change in those cases. The following patch uses a compile time check to identify CPUs where the change is known to work. Would a runtime check be better?
Until Fam10 and K8 can use the same image, compile time is probably the correct way to do it. If there ends up being a long list of processors that don't need the wait, we could add a Kconfig option like CONFIG_NO_LAPIC_DELAY.
Signed-off-by: Scott Duplichan scott@notabs.org
Acked-by: Myles Watson mylesgw@gmail.com
- #if !defined (CONFIG_CPU_AMD_MODEL_10XXX) && !defined
(CONFIG_CPU_AMD_MODEL_14XXX) mdelay(10);
#endif
printk(BIOS_SPEW, "Deasserting INIT.\n");
@@ -144,6 +146,9 @@ #endif
num_starts = 2;
- #if defined (CONFIG_CPU_AMD_MODEL_10XXX) || defined
(CONFIG_CPU_AMD_MODEL_14XXX)
num_starts = 1;
#endif
I'd prefer it if they both used the same logic. I think it will make it easier to update in the future. Maybe something like this:
#if !defined (CONFIG_CPU_AMD_MODEL_10XXX) && !defined (CONFIG_CPU_AMD_MODEL_14XXX) num_starts = 2; #else num_starts = 1; #endif
Thanks, Myles