From c2c6ecd1195481f5813a721a7d20a73c0795c135 Mon Sep 17 00:00:00 2001 From: Aaron Schulman Date: Wed, 25 Feb 2015 08:37:09 -0800 Subject: [PATCH] Added Voltage and Current regulator ftrace events to atrace Tracing the state of the voltage and current regulators enables a developer to attribute power consumption measurements to specific perhipherals and cores. Unlike other indirect methods of tracing when peripherals and cores are toggled, the regulator ftrace event indicates the exact point in time when the kernel switches on or off the device. For example, in the following trace, a developer can see exactly when the krait2 core starts receiving power, and and when the voltage is set for voltage scaling. mpdecision-2172 [000] ...1 1566.665481: regulator_enable: name=krait2 mpdecision-2172 [000] ...1 1566.665493: regulator_enable_delay: name=krait2 mpdecision-2172 [000] ...1 1566.665495: regulator_enable_complete: name=krait2 <...>-4133 [002] ...1 1566.666891: regulator_set_voltage: name=krait2 (1075000-1100000) Change-Id: I964d50be89bbfc554d2ab3e32a18514d1b1e70f4 Signed-off-by: Aaron Schulman --- cmds/atrace/atrace.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmds/atrace/atrace.cpp b/cmds/atrace/atrace.cpp index 010d9ce98..e90baf6e9 100644 --- a/cmds/atrace/atrace.cpp +++ b/cmds/atrace/atrace.cpp @@ -136,6 +136,9 @@ static const TracingCategory k_categories[] = { { REQ, "/sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable" }, { REQ, "/sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable" }, } }, + { "regulators", "Voltage and Current Regulators", 0, { + { REQ, "/sys/kernel/debug/tracing/events/regulator/enable" }, + } }, }; /* Command line options */