]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
Timing debugging for bringup
authorDavid Woodhouse <dwmw@amazon.co.uk>
Thu, 28 Jan 2021 16:49:56 +0000 (16:49 +0000)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Thu, 28 Jan 2021 20:11:58 +0000 (20:11 +0000)
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
arch/x86/kernel/kvm.c
arch/x86/kernel/kvmclock.c
arch/x86/kernel/smpboot.c

index 5e78e01ca3b46f8eccfd11541850bc08a122b614..9eb0b9497855f3ebed73aba4808b5124e7c4ebba 100644 (file)
@@ -308,7 +308,7 @@ static void kvm_register_steal_time(void)
                return;
 
        wrmsrl(MSR_KVM_STEAL_TIME, (slow_virt_to_phys(st) | KVM_MSR_ENABLED));
-       pr_info("stealtime: cpu %d, msr %llx\n", cpu,
+       if (0)  pr_info("stealtime: cpu %d, msr %llx\n", cpu,
                (unsigned long long) slow_virt_to_phys(st));
 }
 
index aa593743acf679781bbfd98117bfc269f5c999b4..79a5c26c376e35308efca74bd68995db778c31fc 100644 (file)
@@ -108,7 +108,7 @@ static inline void kvm_sched_clock_init(bool stable)
        kvm_sched_clock_offset = kvm_clock_read();
        pv_ops.time.sched_clock = kvm_sched_clock_read;
 
-       pr_info("kvm-clock: using sched offset of %llu cycles",
+       if (0) pr_info("kvm-clock: using sched offset of %llu cycles",
                kvm_sched_clock_offset);
 
        BUILD_BUG_ON(sizeof(kvm_sched_clock_offset) >
@@ -184,7 +184,7 @@ static void kvm_register_clock(char *txt)
 
        pa = slow_virt_to_phys(&src->pvti) | 0x01ULL;
        wrmsrl(msr_kvm_system_time, pa);
-       pr_info("kvm-clock: cpu %d, msr %llx, %s", smp_processor_id(), pa, txt);
+       if (0)  pr_info("kvm-clock: cpu %d, msr %llx, %s", smp_processor_id(), pa, txt);
 }
 
 static void kvm_save_sched_clock_state(void)
index 649b8236309b35e41e0808e7ecf322a6f7003a00..881e60ed84fdd64be9435becaecf231e1b31e967 100644 (file)
@@ -373,7 +373,7 @@ int topology_update_die_map(unsigned int die, unsigned int cpu)
                goto found;
 
        new = logical_die++;
-       if (new != die) {
+       if (0 && new != die) {
                pr_info("CPU %u Converting physical %u to logical die %u\n",
                        cpu, die, new);
        }
@@ -1215,22 +1215,32 @@ unreg_nmi:
 
 int native_cpu_up(unsigned int cpu, struct task_struct *tidle)
 {
+       cycles_t t1, t2, t3, t4, t5;
        int ret;
 
+       t1 = get_cycles();
        ret = do_cpu_up(cpu, tidle);
        if (ret)
                return ret;
 
+       t2 = get_cycles();
        ret = do_wait_cpu_initialized(cpu);
        if (ret)
                return ret;
 
+       t3 = get_cycles();
        ret = do_wait_cpu_callin(cpu);
        if (ret)
                return ret;
 
+       t4 = get_cycles();
        ret = do_wait_cpu_online(cpu);
 
+       t5 = get_cycles();
+
+       printk("CPU#%d up in %10lld,%10lld,%10lld,%10lld (%10lld)\n", cpu,
+              t2-t1, t3-t2, t4-t3, t5-t4, t5-t1);
+
        if (x86_platform.legacy.warm_reset) {
                /*
                 * Cleanup possible dangling ends...