summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2021-02-01 10:45:23 +0000
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2021-02-01 12:13:09 +0000
commit536e0c2e9a63721596cdf93e996e7469cadfaaae (patch)
tree729c45fe46f52cf4e704d649053d23819d1dc076
parent362ef104f166930d14e8e57bccc7ec686a37a6f2 (diff)
intel_gpu_top: Add option to hide inactive clients
Allow hiding inactive clients (used no GPU time ever) in interactive mode by pressing 'i'. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--man/intel_gpu_top.rst1
-rw-r--r--tools/intel_gpu_top.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/man/intel_gpu_top.rst b/man/intel_gpu_top.rst
index b18fd967..118d8b95 100644
--- a/man/intel_gpu_top.rst
+++ b/man/intel_gpu_top.rst
@@ -57,6 +57,7 @@ Supported keys:
'1' Toggle between aggregated engine class and physical engine mode.
'n' Toggle display of numeric client busyness overlay.
's' Toggle between sort modes (runtime, total runtime, client id).
+ 'i' Toggle display of clients which used no GPU time.
DEVICE SELECTION
================
diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c
index 60ff62d2..dffc6ebe 100644
--- a/tools/intel_gpu_top.c
+++ b/tools/intel_gpu_top.c
@@ -1933,6 +1933,7 @@ print_clients_header(struct clients *clients, int lines,
}
static bool numeric_clients;
+static bool filter_idle;
static int
print_client(struct client *c, struct engines *engines, double t, int lines,
@@ -1942,6 +1943,9 @@ print_client(struct client *c, struct engines *engines, double t, int lines,
unsigned int i;
if (output_mode == INTERACTIVE) {
+ if (filter_idle && !c->total_runtime)
+ return lines;
+
lines++;
printf("%6u %17s ", c->pid, c->print_name);
@@ -2118,6 +2122,9 @@ static void process_stdin(unsigned int timeout_us)
case '1':
class_view ^= true;
break;
+ case 'i':
+ filter_idle ^= true;
+ break;
case 'n':
numeric_clients ^= true;
break;