|
@@ -179,6 +179,20 @@ static ktime_t tick_nohz_start_idle(struct tick_sched *ts)
|
|
|
return now;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * get_cpu_idle_time_us - get the total idle time of a cpu
|
|
|
+ * @cpu: CPU number to query
|
|
|
+ * @last_update_time: variable to store update time in
|
|
|
+ *
|
|
|
+ * Return the cummulative idle time (since boot) for a given
|
|
|
+ * CPU, in microseconds. The idle time returned includes
|
|
|
+ * the iowait time (unlike what "top" and co report).
|
|
|
+ *
|
|
|
+ * This time is measured via accounting rather than sampling,
|
|
|
+ * and is as accurate as ktime_get() is.
|
|
|
+ *
|
|
|
+ * This function returns -1 if NOHZ is not enabled.
|
|
|
+ */
|
|
|
u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time)
|
|
|
{
|
|
|
struct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);
|