diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2018-02-14 13:21:02 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2020-09-03 13:52:05 +0100 |
commit | 06b12580928d495927fbf407487942561f866091 (patch) | |
tree | bfa4fc1548c5f831f74aadea570207a161f687bd | |
parent | 68b8b2bd1ab18d8be3ab89651eb9e3b8734d5514 (diff) |
tidy
-rw-r--r-- | overlay/gpu-top.c | 8 | ||||
-rw-r--r-- | overlay/overlay.c | 22 |
2 files changed, 15 insertions, 15 deletions
diff --git a/overlay/gpu-top.c b/overlay/gpu-top.c index de18460f..c6f64134 100644 --- a/overlay/gpu-top.c +++ b/overlay/gpu-top.c @@ -29,6 +29,7 @@ #include <unistd.h> #include <fcntl.h> #include <errno.h> +#include <math.h> #include <assert.h> #include "igt_perf.h" @@ -140,7 +141,7 @@ void gpu_top_init(struct gpu_top *gt, unsigned int period_us) for (i = 0; i < NUM_LOADS; i++) { gt->load_name[i] = load_names[i]; - gt->exp[i] = period / load_period[i]; + gt->exp[i] = exp(-period / load_period[i]); } perf_init(gt); @@ -148,10 +149,7 @@ void gpu_top_init(struct gpu_top *gt, unsigned int period_us) static double update_load(double load, double exp, double val) { - load *= 1.0 - exp; - load += exp * val; - - return load; + return val + exp * (load - val); } int gpu_top_update(struct gpu_top *gt) diff --git a/overlay/overlay.c b/overlay/overlay.c index b62a3054..b8d7736e 100644 --- a/overlay/overlay.c +++ b/overlay/overlay.c @@ -958,25 +958,27 @@ int main(int argc, char **argv) { struct gpu_top *gt = &ctx.gpu_top.gpu_top; - char buf[80], buf2[256]; cairo_text_extents_t extents; + char buf[256]; gethostname(buf, sizeof(buf)); - snprintf(buf2, sizeof(buf2), - "%s; %u engines; load-avg %s %.2f, %s %.2f, %s %.2f", - buf, - gt->num_rings, - gt->load_name[0], gt->load[0], - gt->load_name[1], gt->load[1], - gt->load_name[2], gt->load[2]); + if (gt->load[2] > 0) { /* gt->has_load_avg */ + int len = strlen(buf); + snprintf(buf + len, sizeof(buf) - len, + ": %u engines, load %.2f %.2f %.2f", + gt->num_rings, + gt->load[0], + gt->load[1], + gt->load[2]); + } cairo_set_source_rgb(ctx.cr, .5, .5, .5); cairo_set_font_size(ctx.cr, PAD-2); - cairo_text_extents(ctx.cr, buf2, &extents); + cairo_text_extents(ctx.cr, buf, &extents); cairo_move_to(ctx.cr, (ctx.width-extents.width)/2., 1+extents.height); - cairo_show_text(ctx.cr, buf2); + cairo_show_text(ctx.cr, buf); } cairo_destroy(ctx.cr); |