diff options
author | Kevin Hilman <khilman@linaro.org> | 2015-12-10 15:41:42 -0800 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2015-12-10 15:41:42 -0800 |
commit | c5dc0c7cc130974f60a06968facda0502d2877fa (patch) | |
tree | a450c587155fb7401eca195846608d9f2b17ae06 | |
parent | 7fbf01e8efef4ab88ed8942c2bcc4d33610e09bf (diff) | |
parent | 1381afbe1bca2caad1f007b3cacef0cc2b071047 (diff) |
Merge branch 'android-3.14' of ../../android/aosp into linux-linaro-lsk-v3.14-androidlsk-v3.14-16.01-androidlsk-v3.14-15.12-android
-rw-r--r-- | Documentation/trace/events-power.txt | 1 | ||||
-rw-r--r-- | android/configs/android-base.cfg | 2 | ||||
-rw-r--r-- | drivers/cpufreq/cpufreq.c | 1 | ||||
-rw-r--r-- | include/trace/events/power.h | 25 | ||||
-rw-r--r-- | include/trace/events/sched.h | 25 | ||||
-rw-r--r-- | kernel/cpu.c | 4 |
6 files changed, 57 insertions, 1 deletions
diff --git a/Documentation/trace/events-power.txt b/Documentation/trace/events-power.txt index 3bd33b8dc7c4..1715faca804e 100644 --- a/Documentation/trace/events-power.txt +++ b/Documentation/trace/events-power.txt @@ -25,6 +25,7 @@ cpufreq. cpu_idle "state=%lu cpu_id=%lu" cpu_frequency "state=%lu cpu_id=%lu" +cpu_frequency_limits "min=%lu max=%lu cpu_id=%lu" A suspend event is used to indicate the system going in and out of the suspend mode: diff --git a/android/configs/android-base.cfg b/android/configs/android-base.cfg index ad32ede883b9..930f28d539ab 100644 --- a/android/configs/android-base.cfg +++ b/android/configs/android-base.cfg @@ -4,6 +4,7 @@ # CONFIG_INET_LRO is not set # CONFIG_MODULES is not set # CONFIG_OABI_COMPAT is not set +# CONFIG_SYSVIPC is not set CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_LOW_MEMORY_KILLER=y @@ -145,7 +146,6 @@ CONFIG_STAGING=y CONFIG_SWITCH=y CONFIG_SWP_EMULATION=y CONFIG_SYNC=y -CONFIG_SYSVIPC=y CONFIG_TUN=y CONFIG_UNIX=y CONFIG_USB_GADGET=y diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index ef3b8adb9d47..6ca8d1ca0a43 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -2066,6 +2066,7 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy, policy->min = new_policy->min; policy->max = new_policy->max; + trace_cpu_frequency_limits(policy->max, policy->min, policy->cpu); pr_debug("new min and max freqs are %u - %u kHz\n", policy->min, policy->max); diff --git a/include/trace/events/power.h b/include/trace/events/power.h index f2ec4647770f..777478e29996 100644 --- a/include/trace/events/power.h +++ b/include/trace/events/power.h @@ -97,6 +97,31 @@ DEFINE_EVENT(cpu, cpu_frequency, TP_ARGS(frequency, cpu_id) ); +TRACE_EVENT(cpu_frequency_limits, + + TP_PROTO(unsigned int max_freq, unsigned int min_freq, + unsigned int cpu_id), + + TP_ARGS(max_freq, min_freq, cpu_id), + + TP_STRUCT__entry( + __field( u32, min_freq ) + __field( u32, max_freq ) + __field( u32, cpu_id ) + ), + + TP_fast_assign( + __entry->min_freq = min_freq; + __entry->max_freq = min_freq; + __entry->cpu_id = cpu_id; + ), + + TP_printk("min=%lu max=%lu cpu_id=%lu", + (unsigned long)__entry->min_freq, + (unsigned long)__entry->max_freq, + (unsigned long)__entry->cpu_id) +); + TRACE_EVENT(machine_suspend, TP_PROTO(unsigned int state), diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index dc7bb01f580f..d0e5c5fcc925 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h @@ -179,6 +179,31 @@ TRACE_EVENT(sched_migrate_task, __entry->orig_cpu, __entry->dest_cpu) ); +/* + * Tracepoint for a CPU going offline/online: + */ +TRACE_EVENT(sched_cpu_hotplug, + + TP_PROTO(int affected_cpu, int error, int status), + + TP_ARGS(affected_cpu, error, status), + + TP_STRUCT__entry( + __field( int, affected_cpu ) + __field( int, error ) + __field( int, status ) + ), + + TP_fast_assign( + __entry->affected_cpu = affected_cpu; + __entry->error = error; + __entry->status = status; + ), + + TP_printk("cpu %d %s error=%d", __entry->affected_cpu, + __entry->status ? "online" : "offline", __entry->error) +); + DECLARE_EVENT_CLASS(sched_process_template, TP_PROTO(struct task_struct *p), diff --git a/kernel/cpu.c b/kernel/cpu.c index 436a93bae9e0..a56b1adcc94f 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -20,6 +20,8 @@ #include <linux/gfp.h> #include <linux/suspend.h> +#include <trace/events/sched.h> + #include "smpboot.h" #ifdef CONFIG_SMP @@ -357,6 +359,7 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) out_release: cpu_hotplug_done(); + trace_sched_cpu_hotplug(cpu, err, 0); if (!err) cpu_notify_nofail(CPU_POST_DEAD | mod, hcpu); return err; @@ -432,6 +435,7 @@ out_notify: __cpu_notify(CPU_UP_CANCELED | mod, hcpu, nr_calls, NULL); out: cpu_hotplug_done(); + trace_sched_cpu_hotplug(cpu, ret, 1); return ret; } |