summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2018-02-14 13:21:02 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2020-09-03 13:52:05 +0100
commit06b12580928d495927fbf407487942561f866091 (patch)
treebfa4fc1548c5f831f74aadea570207a161f687bd
parent68b8b2bd1ab18d8be3ab89651eb9e3b8734d5514 (diff)
tidy
-rw-r--r--overlay/gpu-top.c8
-rw-r--r--overlay/overlay.c22
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);