|
@@ -639,6 +639,16 @@ static void enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
|
|
|
|
|
se->block_start = 0;
|
|
|
se->sum_sleep_runtime += delta;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Blocking time is in units of nanosecs, so shift by 20 to
|
|
|
+ * get a milliseconds-range estimation of the amount of
|
|
|
+ * time that the task spent sleeping:
|
|
|
+ */
|
|
|
+ if (unlikely(prof_on == SLEEP_PROFILING)) {
|
|
|
+ profile_hits(SLEEP_PROFILING, (void *)get_wchan(tsk),
|
|
|
+ delta >> 20);
|
|
|
+ }
|
|
|
}
|
|
|
#endif
|
|
|
}
|