Loading include/trace/events/sched.h +0 −50 Original line number Diff line number Diff line Loading @@ -370,56 +370,6 @@ TRACE_EVENT(sched_stat_runtime, (unsigned long long)__entry->vruntime) ); #ifdef CREATE_TRACE_POINTS static inline u64 trace_get_sleeptime(struct task_struct *tsk) { #ifdef CONFIG_SCHEDSTATS u64 block, sleep; block = tsk->se.statistics.block_start; sleep = tsk->se.statistics.sleep_start; tsk->se.statistics.block_start = 0; tsk->se.statistics.sleep_start = 0; return block ? block : sleep ? sleep : 0; #else return 0; #endif } #endif /* * Tracepoint for accounting sleeptime (time the task is sleeping * or waiting for I/O). */ TRACE_EVENT(sched_stat_sleeptime, TP_PROTO(struct task_struct *tsk, u64 now), TP_ARGS(tsk, now), TP_STRUCT__entry( __array( char, comm, TASK_COMM_LEN ) __field( pid_t, pid ) __field( u64, sleeptime ) ), TP_fast_assign( memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN); __entry->pid = tsk->pid; __entry->sleeptime = trace_get_sleeptime(tsk); __entry->sleeptime = __entry->sleeptime ? now - __entry->sleeptime : 0; ) TP_perf_assign( __perf_count(__entry->sleeptime); ), TP_printk("comm=%s pid=%d sleeptime=%Lu [ns]", __entry->comm, __entry->pid, (unsigned long long)__entry->sleeptime) ); /* * Tracepoint for showing priority inheritance modifying a tasks * priority. Loading kernel/sched/core.c +0 −1 Original line number Diff line number Diff line Loading @@ -1932,7 +1932,6 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) local_irq_enable(); #endif /* __ARCH_WANT_INTERRUPTS_ON_CTXSW */ finish_lock_switch(rq, prev); trace_sched_stat_sleeptime(current, rq->clock); fire_sched_in_preempt_notifiers(current); if (mm) Loading kernel/sched/fair.c +2 −0 Original line number Diff line number Diff line Loading @@ -1003,6 +1003,7 @@ static void enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se) if (unlikely(delta > se->statistics.sleep_max)) se->statistics.sleep_max = delta; se->statistics.sleep_start = 0; se->statistics.sum_sleep_runtime += delta; if (tsk) { Loading @@ -1019,6 +1020,7 @@ static void enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se) if (unlikely(delta > se->statistics.block_max)) se->statistics.block_max = delta; se->statistics.block_start = 0; se->statistics.sum_sleep_runtime += delta; if (tsk) { Loading Loading
include/trace/events/sched.h +0 −50 Original line number Diff line number Diff line Loading @@ -370,56 +370,6 @@ TRACE_EVENT(sched_stat_runtime, (unsigned long long)__entry->vruntime) ); #ifdef CREATE_TRACE_POINTS static inline u64 trace_get_sleeptime(struct task_struct *tsk) { #ifdef CONFIG_SCHEDSTATS u64 block, sleep; block = tsk->se.statistics.block_start; sleep = tsk->se.statistics.sleep_start; tsk->se.statistics.block_start = 0; tsk->se.statistics.sleep_start = 0; return block ? block : sleep ? sleep : 0; #else return 0; #endif } #endif /* * Tracepoint for accounting sleeptime (time the task is sleeping * or waiting for I/O). */ TRACE_EVENT(sched_stat_sleeptime, TP_PROTO(struct task_struct *tsk, u64 now), TP_ARGS(tsk, now), TP_STRUCT__entry( __array( char, comm, TASK_COMM_LEN ) __field( pid_t, pid ) __field( u64, sleeptime ) ), TP_fast_assign( memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN); __entry->pid = tsk->pid; __entry->sleeptime = trace_get_sleeptime(tsk); __entry->sleeptime = __entry->sleeptime ? now - __entry->sleeptime : 0; ) TP_perf_assign( __perf_count(__entry->sleeptime); ), TP_printk("comm=%s pid=%d sleeptime=%Lu [ns]", __entry->comm, __entry->pid, (unsigned long long)__entry->sleeptime) ); /* * Tracepoint for showing priority inheritance modifying a tasks * priority. Loading
kernel/sched/core.c +0 −1 Original line number Diff line number Diff line Loading @@ -1932,7 +1932,6 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) local_irq_enable(); #endif /* __ARCH_WANT_INTERRUPTS_ON_CTXSW */ finish_lock_switch(rq, prev); trace_sched_stat_sleeptime(current, rq->clock); fire_sched_in_preempt_notifiers(current); if (mm) Loading
kernel/sched/fair.c +2 −0 Original line number Diff line number Diff line Loading @@ -1003,6 +1003,7 @@ static void enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se) if (unlikely(delta > se->statistics.sleep_max)) se->statistics.sleep_max = delta; se->statistics.sleep_start = 0; se->statistics.sum_sleep_runtime += delta; if (tsk) { Loading @@ -1019,6 +1020,7 @@ static void enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se) if (unlikely(delta > se->statistics.block_max)) se->statistics.block_max = delta; se->statistics.block_start = 0; se->statistics.sum_sleep_runtime += delta; if (tsk) { Loading