|
@@ -159,9 +159,10 @@ update_ts_time_stats(int cpu, struct tick_sched *ts, ktime_t now, u64 *last_upda
|
|
|
|
|
|
if (ts->idle_active) {
|
|
|
delta = ktime_sub(now, ts->idle_entrytime);
|
|
|
- ts->idle_sleeptime = ktime_add(ts->idle_sleeptime, delta);
|
|
|
if (nr_iowait_cpu(cpu) > 0)
|
|
|
ts->iowait_sleeptime = ktime_add(ts->iowait_sleeptime, delta);
|
|
|
+ else
|
|
|
+ ts->idle_sleeptime = ktime_add(ts->idle_sleeptime, delta);
|
|
|
ts->idle_entrytime = now;
|
|
|
}
|
|
|
|
|
@@ -200,8 +201,7 @@ static ktime_t tick_nohz_start_idle(int cpu, struct tick_sched *ts)
|
|
|
* @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).
|
|
|
+ * CPU, in microseconds.
|
|
|
*
|
|
|
* This time is measured via accounting rather than sampling,
|
|
|
* and is as accurate as ktime_get() is.
|
|
@@ -221,7 +221,7 @@ u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(get_cpu_idle_time_us);
|
|
|
|
|
|
-/*
|
|
|
+/**
|
|
|
* get_cpu_iowait_time_us - get the total iowait time of a cpu
|
|
|
* @cpu: CPU number to query
|
|
|
* @last_update_time: variable to store update time in
|