aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Tabaka <corey.tabaka@gmail.com>2013-01-16 01:50:51 -0800
committerCorey Tabaka <corey.tabaka@gmail.com>2013-05-25 20:40:09 -0700
commit65248161141a6136190fb0c8eea6d522f86785b2 (patch)
tree177804eff3e003c430528d0d0c3502b8fdb87b77
parent7c0862885e63a3d0df28ed2afef61b8059894142 (diff)
downloadlk-65248161141a6136190fb0c8eea6d522f86785b2.tar.gz
[kernel] Keep load percentage from underflowing.
-rw-r--r--kernel/debug.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/debug.c b/kernel/debug.c
index a94bf6d9..ec7008a6 100644
--- a/kernel/debug.c
+++ b/kernel/debug.c
@@ -95,7 +95,8 @@ static enum handler_return threadload(struct timer *t, lk_time_t now, void *arg)
if (current_thread == idle_thread) {
idle_time += current_time_hires() - thread_stats.last_idle_timestamp;
}
- lk_bigtime_t busy_time = 1000000ULL - (idle_time - last_idle_time);
+ lk_bigtime_t delta_time = idle_time - last_idle_time;
+ lk_bigtime_t busy_time = 1000000ULL - (delta_time > 1000000ULL ? 1000000ULL : delta_time);
uint busypercent = (busy_time * 10000) / (1000000);