diff options
author | Linux Build Service Account <lnxbuild@quicinc.com> | 2018-01-09 15:40:36 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-01-09 15:40:35 -0800 |
commit | 335cf653471a1d8711265d359adbb779aff33f84 (patch) | |
tree | 4f8516a80314257a4913de192e63d1839fe4f491 | |
parent | 05389087c33ba880ffd71f825314506c4def1f7c (diff) | |
parent | f9e96dfcb886acb632bb287982fae51e7e31f289 (diff) |
Merge "sched: Update tracepoint to include task info"
-rw-r--r-- | include/trace/events/sched.h | 12 | ||||
-rw-r--r-- | kernel/sched/hmp.c | 3 | ||||
-rw-r--r-- | kernel/sched/sched.h | 2 |
3 files changed, 11 insertions, 6 deletions
diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index 739bcb89f602..cc0ebe6867a5 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h @@ -436,9 +436,9 @@ TRACE_EVENT(sched_update_task_ravg, TRACE_EVENT(sched_get_task_cpu_cycles, - TP_PROTO(int cpu, int event, u64 cycles, u64 exec_time), + TP_PROTO(int cpu, int event, u64 cycles, u64 exec_time, struct task_struct *p), - TP_ARGS(cpu, event, cycles, exec_time), + TP_ARGS(cpu, event, cycles, exec_time, p), TP_STRUCT__entry( __field(int, cpu ) @@ -448,6 +448,8 @@ TRACE_EVENT(sched_get_task_cpu_cycles, __field(u32, freq ) __field(u32, legacy_freq ) __field(u32, max_freq) + __field(pid_t, pid ) + __array(char, comm, TASK_COMM_LEN ) ), TP_fast_assign( @@ -458,12 +460,14 @@ TRACE_EVENT(sched_get_task_cpu_cycles, __entry->freq = cpu_cycles_to_freq(cycles, exec_time); __entry->legacy_freq = cpu_cur_freq(cpu); __entry->max_freq = cpu_max_freq(cpu); + __entry->pid = p->pid; + memcpy(__entry->comm, p->comm, TASK_COMM_LEN); ), - TP_printk("cpu=%d event=%d cycles=%llu exec_time=%llu freq=%u legacy_freq=%u max_freq=%u", + TP_printk("cpu=%d event=%d cycles=%llu exec_time=%llu freq=%u legacy_freq=%u max_freq=%u task=%d (%s)", __entry->cpu, __entry->event, __entry->cycles, __entry->exec_time, __entry->freq, __entry->legacy_freq, - __entry->max_freq) + __entry->max_freq, __entry->pid, __entry->comm) ); TRACE_EVENT(sched_update_history, diff --git a/kernel/sched/hmp.c b/kernel/sched/hmp.c index 70a556f0dd06..ea066ab8376b 100644 --- a/kernel/sched/hmp.c +++ b/kernel/sched/hmp.c @@ -2612,7 +2612,8 @@ update_task_rq_cpu_cycles(struct task_struct *p, struct rq *rq, int event, p->cpu_cycles = cur_cycles; - trace_sched_get_task_cpu_cycles(cpu, event, rq->cc.cycles, rq->cc.time); + trace_sched_get_task_cpu_cycles(cpu, event, rq->cc.cycles, + rq->cc.time, p); } static int diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 7426ae4dced3..c0e3314bf4c2 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1249,7 +1249,7 @@ static inline int cpu_min_power_cost(int cpu) return cpu_rq(cpu)->cluster->min_power_cost; } -static inline u32 cpu_cycles_to_freq(u64 cycles, u32 period) +static inline u32 cpu_cycles_to_freq(u64 cycles, u64 period) { return div64_u64(cycles, period); } |