[PATCH] powerpc: Show current speed in /proc/cpuinfo
Matt Sealey
matt at genesi-usa.com
Fri Apr 27 19:00:33 EST 2007
Olof Johansson wrote:
> On other architectures, the frequency in /proc/cpuinfo moves with cpufreq
> changes. It makes sense to do the same on powerpc to keep users from
> getting confused. Fall back to old ppc_proc_freq for non-cpufreq systems.
>
> Also change the format to three decimals, having full Hz granularity is
> silly these days.
>
>
> Signed-off-by: Olof Johansson <olof at lixom.net>
>
>
> Index: powerpc/arch/powerpc/kernel/setup-common.c
> ===================================================================
> --- powerpc.orig/arch/powerpc/kernel/setup-common.c
> +++ powerpc/arch/powerpc/kernel/setup-common.c
> @@ -29,6 +29,7 @@
> #include <linux/root_dev.h>
> #include <linux/notifier.h>
> #include <linux/cpu.h>
> +#include <linux/cpufreq.h>
> #include <linux/unistd.h>
> #include <linux/serial.h>
> #include <linux/serial_8250.h>
> @@ -160,6 +161,7 @@ static int show_cpuinfo(struct seq_file
> unsigned int pvr;
> unsigned short maj;
> unsigned short min;
> + unsigned int freq;
>
> if (cpu_id == NR_CPUS) {
> #if defined(CONFIG_SMP) && defined(CONFIG_PPC32)
> @@ -226,13 +228,15 @@ static int show_cpuinfo(struct seq_file
> }
> #endif /* CONFIG_TAU */
>
> - /*
> - * Assume here that all clock rates are the same in a
> - * smp system. -- Cort
> - */
> - if (ppc_proc_freq)
> - seq_printf(m, "clock\t\t: %lu.%06luMHz\n",
> - ppc_proc_freq / 1000000, ppc_proc_freq % 1000000);
Would it not be relevant to keep listing the maximum CPU speed as well
as the real, current CPU speed?
Intel encode this into their CPUID string and when I bring up Windows' System
Properties dialog I get this;
Intel(R) Pentium(R) M processor 1.70GHz
593MHz, 512MB of RAM
So you can always, always find out very easily what spec your processor
is, and not just what cpufreq has done with it?
> + /* cpufreq_speed_get() is in kHz */
> + freq = cpufreq_quick_get(cpu_id);
Is it speed or quick? This and the comment below confused me, KHz or Hz? :D
> +
> + if (!freq)
> + /* ppc_proc_freq is in Hz */
> + freq = ppc_proc_freq / 1000;
> +
> + if (freq)
> + seq_printf(m, "clock\t\t: %u.%03uMHz\n", freq / 1000, freq % 1000);
--
Matt Sealey <matt at genesi-usa.com>
Genesi, Manager, Developer Relations
More information about the Linuxppc-dev
mailing list