diff options
author | Corey Tabaka <corey.tabaka@gmail.com> | 2013-01-16 01:50:51 -0800 |
---|---|---|
committer | Corey Tabaka <corey.tabaka@gmail.com> | 2013-05-25 20:40:09 -0700 |
commit | 65248161141a6136190fb0c8eea6d522f86785b2 (patch) | |
tree | 177804eff3e003c430528d0d0c3502b8fdb87b77 | |
parent | 7c0862885e63a3d0df28ed2afef61b8059894142 (diff) | |
download | lk-65248161141a6136190fb0c8eea6d522f86785b2.tar.gz |
[kernel] Keep load percentage from underflowing.
-rw-r--r-- | kernel/debug.c | 3 |
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); |