]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Revert "x86: do not use cpufreq_quick_get() for /proc/cpuinfo "cpu MHz""
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 2 Nov 2017 21:06:32 +0000 (14:06 -0700)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Thu, 16 Nov 2017 13:23:37 +0000 (11:23 -0200)
BugLink: http://bugs.launchpad.net/bugs/1731971
commit 890da9cf098364b11a7f7f5c22fa652531624d03 upstream.

This reverts commit 51204e0639c49ada02fd823782ad673b6326d748.

There wasn't really any good reason for it, and people are complaining
(rightly) that it broke existing practice.

Cc: Len Brown <len.brown@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
arch/x86/kernel/cpu/proc.c

index 218f79825b3c802d9da17fd937320da3ce4456cc..6df621ae62a7c00cb4f95dbf5c41ec83e5397f71 100644 (file)
@@ -2,6 +2,7 @@
 #include <linux/timex.h>
 #include <linux/string.h>
 #include <linux/seq_file.h>
+#include <linux/cpufreq.h>
 
 /*
  *     Get CPU information for use by the procfs.
@@ -75,9 +76,14 @@ static int show_cpuinfo(struct seq_file *m, void *v)
        if (c->microcode)
                seq_printf(m, "microcode\t: 0x%x\n", c->microcode);
 
-       if (cpu_has(c, X86_FEATURE_TSC))
+       if (cpu_has(c, X86_FEATURE_TSC)) {
+               unsigned int freq = cpufreq_quick_get(cpu);
+
+               if (!freq)
+                       freq = cpu_khz;
                seq_printf(m, "cpu MHz\t\t: %u.%03u\n",
-                          cpu_khz / 1000, (cpu_khz % 1000));
+                          freq / 1000, (freq % 1000));
+       }
 
        /* Cache size */
        if (c->x86_cache_size >= 0)