]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
Print bringup timing
authorDavid Woodhouse <dwmw@amazon.co.uk>
Thu, 9 Dec 2021 14:20:23 +0000 (14:20 +0000)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Thu, 9 Feb 2023 13:01:55 +0000 (13:01 +0000)
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
kernel/cpu.c

index 4a7791d74272cf8c847cd4f3f26bd518fb853ab6..b49f988ff9416b0f07b4f07ba72aa034d884d3c2 100644 (file)
@@ -1506,6 +1506,7 @@ void bringup_nonboot_cpus(unsigned int setup_max_cpus)
 {
        unsigned int n = setup_max_cpus - num_online_cpus();
        unsigned int cpu;
+       cycles_t t1, t2;
 
        /*
         * An architecture may have regustered parallel pre-bringup states to
@@ -1518,22 +1519,29 @@ void bringup_nonboot_cpus(unsigned int setup_max_cpus)
 
                while (st <= CPUHP_BP_PARALLEL_DYN_END && cpuhp_hp_states[st].name) {
                        int i = n;
-
+                       t1 = get_cycles();
                        for_each_present_cpu(cpu) {
                                cpu_up(cpu, st);
                                if (!--i)
                                        break;
                        }
+                       t2 = get_cycles();
+
+                       printk("Brought %d CPUs to %s in %lld cycles\n", n - i,
+                              cpuhp_hp_states[st].name, t2 - t1);
                        st++;
                }
        }
 
+       t1 = get_cycles();
        for_each_present_cpu(cpu) {
                if (num_online_cpus() >= setup_max_cpus)
                        break;
                if (!cpu_online(cpu))
                        cpu_up(cpu, CPUHP_ONLINE);
        }
+       t2 = get_cycles();
+       printk("Brought CPUs online in %lld cycles\n", t2 - t1);
 }
 
 #ifdef CONFIG_PM_SLEEP_SMP