From f774f2b52f56cb10fd7e4354e7c3861d370a58a8 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 11 Jan 2018 09:56:12 -0700 Subject: [PATCH] gallium/hud: compute cpu load, percent with doubles MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The hud_graph_add_value() function takes a double precision value, so compute it that way. Reviewed-by: Marek Olšák --- src/gallium/auxiliary/hud/hud_cpu.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gallium/auxiliary/hud/hud_cpu.c b/src/gallium/auxiliary/hud/hud_cpu.c index 259bb837639..b7a524330bf 100644 --- a/src/gallium/auxiliary/hud/hud_cpu.c +++ b/src/gallium/auxiliary/hud/hud_cpu.c @@ -151,7 +151,8 @@ query_cpu_load(struct hud_graph *gr, struct pipe_context *pipe) if (info->last_time) { if (info->last_time + gr->pane->period <= now) { - uint64_t cpu_busy, cpu_total, cpu_load; + uint64_t cpu_busy, cpu_total; + double cpu_load; get_cpu_stats(info->cpu_index, &cpu_busy, &cpu_total); @@ -258,15 +259,15 @@ query_api_thread_busy_status(struct hud_graph *gr, struct pipe_context *pipe) thread_now = 0; } - unsigned percent = (thread_now - info->last_thread_time) * 100 / + double percent = (thread_now - info->last_thread_time) * 100.0 / (now - info->last_time); /* Check if the context changed a thread, so that we don't show * a random value. When a thread is changed, the new thread clock * is different, which can result in "percent" being very high. */ - if (percent > 100) - percent = 0; + if (percent > 100.0) + percent = 0.0; hud_graph_add_value(gr, percent); info->last_thread_time = thread_now; -- 2.30.2