On Fri, Jan 21, 2011 at 07:13:48PM +0530, Santosh Shilimkar wrote: > > -----Original Message----- > > From: Rob Herring [mailto:robherring2@xxxxxxxxx] > > Sent: Thursday, January 20, 2011 10:05 PM > > To: Santosh Shilimkar > > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; Russell King; linux- > > omap@xxxxxxxxxxxxxxx; Linus Walleij > > Subject: Re: [PATCH] ARM: smp: Introduce ARCH_HAS_COMMON_CORES_CLOCK > > to speed-up boot > > [..] > > > >> > > >> There's already one way to do this with pre-calculated lpj. > > >> > > > How about the hot-plug path? This is not for just boot. > > > > The path is the same for hotplug and secondary boot, so yes for > > both. > > Plus you get the added benefit of speeding up the primary core boot > > as well. > > > No 'preset_lpj' will not work for the hotplug path when > cpufreq is active. It just useful only for boot in > its current form. Indeed, it will end up screwing up the loops_per_jiffy value. That would seem to be a hole on other architectures too. I wonder if anyone has tested hotplug on a cpufreq-scaled system. > @@ -332,14 +345,19 @@ void __init smp_cpus_done(unsigned int max_cpus) > int cpu; > unsigned long bogosum = 0; > > - for_each_online_cpu(cpu) > - bogosum += per_cpu(cpu_data, cpu).loops_per_jiffy; > + if (!skip_secondary_calibrate) { > + for_each_online_cpu(cpu) > + bogosum += per_cpu(cpu_data, cpu).loops_per_jiffy; > > - printk(KERN_INFO "SMP: Total of %d processors activated " > - "(%lu.%02lu BogoMIPS).\n", > - num_online_cpus(), > - bogosum / (500000/HZ), > - (bogosum / (5000/HZ)) % 100); > + printk(KERN_INFO "SMP: Total of %d processors activated " > + "(%lu.%02lu BogoMIPS).\n", > + num_online_cpus(), > + bogosum / (500000/HZ), > + (bogosum / (5000/HZ)) % 100); > + } else { > + printk(KERN_INFO "SMP: Total of %d processors > activated.\n", > + num_online_cpus()); > + } Hmm. How about: char bogosum[32]; if (!skip_secondary_calibrate) { for_each_online_cpu(cpu) bogosum += per_cpu(cpu_data, cpu).loops_per_jiffy; snprintf(bogosum, sizeof(bogosum), " (%lu.%02lu BogoMIPS).\n", bogosum / (500000/HZ), (bogosum / (5000/HZ)) % 100); } else bogosum[0] = '\0'; pr_info("SMP: Total of %d processors activated%s.\n", num_online_cpus(), bogosum); Looks neater and more compact and reduces the amount of string space required. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html