summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;