[S390] prevent unneccesary loops_per_jiffy recalculation
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 5 Jan 2011 11:48:18 +0000 (12:48 +0100)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>
Wed, 5 Jan 2011 11:47:32 +0000 (12:47 +0100)
When the seqfile /proc/cpuinfo gets accesses for each possible cpu
loops_per_jiffy gets recalculated. However its value is only needed
on first access.
In addition loops_per_jiffy should be recalculated when the machine
reports a capability change.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/processor.c
drivers/s390/char/sclp_config.c

index 753623b..311e9d7 100644 (file)
@@ -46,8 +46,8 @@ static int show_cpuinfo(struct seq_file *m, void *v)
        unsigned long n = (unsigned long) v - 1;
        int i;
 
-       s390_adjust_jiffies();
        if (!n) {
+               s390_adjust_jiffies();
                seq_printf(m, "vendor_id       : IBM/S390\n"
                           "# processors    : %i\n"
                           "bogomips per cpu: %lu.%02lu\n",
index b497afe..16e232a 100644 (file)
@@ -33,6 +33,7 @@ static void sclp_cpu_capability_notify(struct work_struct *work)
        int cpu;
        struct sys_device *sysdev;
 
+       s390_adjust_jiffies();
        pr_warning("cpu capability changed.\n");
        get_online_cpus();
        for_each_online_cpu(cpu) {