summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorAndy Park <andyp@nvidia.com>2012-05-01 08:53:26 -0700
committerVarun Colbert <vcolbert@nvidia.com>2012-05-01 17:01:56 -0700
commitb5e5c73d6d5889d245c17910020f77af5da04a16 (patch)
treee5d78b3ca59f3ed6508d5048cf982407015270be /kernel
parent828c895ed9e74bffdb55a18d6a010350a4dd7c50 (diff)
tracing: Add tracepoints for hotplug
Simple trace points for measuring hotplug up/down times. Bug 960310 Change-Id: I74dd3c5cddcc1ded02ad08a7ce38bacf3147ee3e Reviewed-on: http://git-master/r/99806 Reviewed-by: Andy Park <andyp@nvidia.com> Tested-by: Andy Park <andyp@nvidia.com> Reviewed-by: Prajakta Gudadhe <pgudadhe@nvidia.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cpu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c
index eae3d9b39574..f9bb3d498fb4 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -16,6 +16,7 @@
#include <linux/mutex.h>
#include <linux/gfp.h>
#include <linux/suspend.h>
+#include <trace/events/power.h>
#ifdef CONFIG_SMP
/* Serializes the updates to cpu_online_mask, cpu_present_mask */
@@ -274,6 +275,8 @@ int __ref cpu_down(unsigned int cpu)
{
int err;
+ trace_cpu_hotplug(cpu, POWER_CPU_DOWN_START);
+
cpu_maps_update_begin();
if (cpu_hotplug_disabled) {
@@ -285,6 +288,7 @@ int __ref cpu_down(unsigned int cpu)
out:
cpu_maps_update_done();
+ trace_cpu_hotplug(cpu, POWER_CPU_DOWN_DONE);
return err;
}
EXPORT_SYMBOL(cpu_down);
@@ -335,6 +339,8 @@ int __cpuinit cpu_up(unsigned int cpu)
pg_data_t *pgdat;
#endif
+ trace_cpu_hotplug(cpu, POWER_CPU_UP_START);
+
if (!cpu_possible(cpu)) {
printk(KERN_ERR "can't online cpu %d because it is not "
"configured as may-hotadd at boot time\n", cpu);
@@ -378,6 +384,7 @@ int __cpuinit cpu_up(unsigned int cpu)
out:
cpu_maps_update_done();
+ trace_cpu_hotplug(cpu, POWER_CPU_UP_DONE);
return err;
}