All of lore.kernel.org
 help / color / mirror / Atom feed
From: Soham Purkait <soham.purkait@intel.com>
To: igt-dev@lists.freedesktop.org, riana.tauro@intel.com,
	badal.nilawar@intel.com, kamil.konieczny@intel.com,
	vinay.belgaumkar@intel.com
Cc: anshuman.gupta@intel.com, soham.purkait@intel.com,
	tvrtko.ursulin@igalia.com, tursulin@ursulin.net,
	lucas.de.marchi@gmail.com
Subject: [PATCH i-g-t v10 5/5] tools/gputop.src/gputop: Add command line option for device filter
Date: Mon,  6 Apr 2026 11:34:28 +0530	[thread overview]
Message-ID: <20260406060428.2734117-6-soham.purkait@intel.com> (raw)
In-Reply-To: <20260406060428.2734117-1-soham.purkait@intel.com>

With a new command-line option for device filtering, the engine
busyness for the specific device could be selected.

Signed-off-by: Soham Purkait <soham.purkait@intel.com>
---
 tools/gputop.src/gputop.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/tools/gputop.src/gputop.c b/tools/gputop.src/gputop.c
index 479897f40..a2e3578cc 100644
--- a/tools/gputop.src/gputop.c
+++ b/tools/gputop.src/gputop.c
@@ -610,6 +610,7 @@ struct gputop_args {
 	long n_iter;
 	unsigned long delay_usec;
 	bool verbose;
+	char *device;
 };
 
 static void countdown(const char *msg, const int start_sec)
@@ -651,7 +652,8 @@ static void help(char *full_path)
 	       " non-root mode if neither CAP_PERFMON is set nor perf_event_paranoid is"
 	       " permissive.\n"
 	       "\t-d, --delay =SEC[.TENTHS] iterative delay as SECS [.TENTHS]\n"
-	       "\t-n, --iterations =NUMBER  number of executions\n\n"
+	       "\t-n, --iterations =NUMBER  number of executions\n"
+	       "\t-D, --device              Device filter\n\n"
 	       "Running without root:\n"
 	       "\tAs a non-root user, CAP_PERFMON or perf_event_paranoid is required to\n"
 	       "\taccess engine busyness\n"
@@ -682,12 +684,13 @@ static void help(char *full_path)
 
 static int parse_args(int argc, char * const argv[], struct gputop_args *args)
 {
-	static const char cmdopts_s[] = "hvn:d:";
+	static const char cmdopts_s[] = "hvn:d:D:";
 	static const struct option cmdopts[] = {
 	       {"help", no_argument, 0, 'h'},
 	       {"delay", required_argument, 0, 'd'},
 	       {"iterations", required_argument, 0, 'n'},
 	       {"verbose", no_argument, 0, 'v'},
+	       {"device", required_argument, 0, 'D'},
 	       { }
 	};
 
@@ -696,6 +699,7 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
 	args->n_iter = -1;
 	args->delay_usec = 2 * USEC_PER_SEC;
 	args->verbose = false;
+	args->device = NULL;
 
 	for (;;) {
 		int c, idx = 0;
@@ -722,6 +726,9 @@ static int parse_args(int argc, char * const argv[], struct gputop_args *args)
 				return -1;
 			}
 			break;
+		case 'D':
+			args->device = optarg;
+			break;
 		case 'h':
 			help(argv[0]);
 			return 0;
@@ -763,7 +770,8 @@ int main(int argc, char **argv)
 
 	n = args.n_iter;
 	period_us = args.delay_usec;
-	populate_device_instances("device:subsystem=pci,card=all");
+	populate_device_instances(args.device ? args.device
+				  : "device:subsystem=pci,card=all");
 
 	for (int i = 0; drivers[i]; i++) {
 		if (!per_driver_contexts[i].device_present)
-- 
2.34.1


  parent reply	other threads:[~2026-04-06  6:12 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-06  6:04 [PATCH i-g-t v10 0/5] Close any open drm device after engine initialization in GPUTOP Soham Purkait
2026-04-06  6:04 ` [PATCH i-g-t v10 1/5] tools: Rename tools/gputop to tools/gputop.src Soham Purkait
2026-04-07  7:45   ` Jani Nikula
2026-04-08  5:50     ` Purkait, Soham
2026-04-06  6:04 ` [PATCH i-g-t v10 2/5] tools/gputop.src/utils: Add clamp macro to remove dependency on lib/xe/* Soham Purkait
2026-04-06  6:04 ` [PATCH i-g-t v10 3/5] tools/gputop.src/xe_gputop: Use direct ioctls with card_fd cleanup Soham Purkait
2026-04-06  6:04 ` [PATCH i-g-t v10 4/5] tools/gputop.src/gputop: Add support for per-engine busyness monitoring Soham Purkait
2026-04-06  9:04   ` Tvrtko Ursulin
2026-04-08  7:50     ` Purkait, Soham
2026-04-09  8:52       ` Tvrtko Ursulin
2026-04-13  8:35         ` Purkait, Soham
2026-04-06  6:04 ` Soham Purkait [this message]
2026-04-06  8:25 ` ✓ Xe.CI.BAT: success for Close any open drm device after engine initialization in GPUTOP (rev11) Patchwork
2026-04-06  8:42 ` ✓ i915.CI.BAT: " Patchwork
2026-04-06 11:21 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-04-06 12:32 ` ✗ i915.CI.Full: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260406060428.2734117-6-soham.purkait@intel.com \
    --to=soham.purkait@intel.com \
    --cc=anshuman.gupta@intel.com \
    --cc=badal.nilawar@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@intel.com \
    --cc=lucas.de.marchi@gmail.com \
    --cc=riana.tauro@intel.com \
    --cc=tursulin@ursulin.net \
    --cc=tvrtko.ursulin@igalia.com \
    --cc=vinay.belgaumkar@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.