All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ashutosh Dixit <ashutosh.dixit@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t 1/3] tests/perf_pmu: Compare against requested freq in frequency subtest
Date: Fri,  6 Jan 2023 17:11:25 -0800	[thread overview]
Message-ID: <20230107011127.39537-2-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <20230107011127.39537-1-ashutosh.dixit@intel.com>

After the i915 commit 95ccf312a1e4f ("drm/i915/guc/slpc: Allow SLPC to use
efficient frequency"), FW uses the requested freq as the efficient freq
which can exceed the max freq set. Therefore, in the "min freq" part of the
igt@perf_pmu@frequency subtest, compare the requested freq reported by PMU
not against the set freq but against the requested freq reported in sysfs.

v2: Remove previously added delays. GuC FW is now updated to set min/max
    freq in top half so delays are not needed
v3: Increase tolerance between measured and requested freq to 10% to
    account for sporadic failures due to dynamically changing efficient
    freq. Also document the changes in code.

Bug: https://gitlab.freedesktop.org/drm/intel/-/issues/6806
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
 tests/i915/perf_pmu.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/tests/i915/perf_pmu.c b/tests/i915/perf_pmu.c
index f363db2ba13..f9ef89fb0b3 100644
--- a/tests/i915/perf_pmu.c
+++ b/tests/i915/perf_pmu.c
@@ -1546,7 +1546,7 @@ test_interrupts_sync(int gem_fd)
 static void
 test_frequency(int gem_fd)
 {
-	uint32_t min_freq, max_freq, boost_freq;
+	uint32_t min_freq, max_freq, boost_freq, min_req;
 	uint64_t val[2], start[2], slept;
 	double min[2], max[2];
 	igt_spin_t *spin;
@@ -1587,6 +1587,7 @@ test_frequency(int gem_fd)
 
 	min[0] = 1e9*(val[0] - start[0]) / slept;
 	min[1] = 1e9*(val[1] - start[1]) / slept;
+	min_req = igt_sysfs_get_u32(sysfs, "gt_cur_freq_mhz");
 
 	igt_spin_free(gem_fd, spin);
 	gem_quiescent_gpu(gem_fd); /* Don't leak busy bo into the next phase */
@@ -1633,7 +1634,14 @@ test_frequency(int gem_fd)
 	igt_info("Max frequency: requested %.1f, actual %.1f\n",
 		 max[0], max[1]);
 
-	assert_within_epsilon(min[0], min_freq, tolerance);
+	/*
+	 * With GuC SLPC, FW uses requested freq as the efficient freq which can
+	 * exceed the max freq. Therefore compare requested freq measured by the
+	 * PMU not against the set freq's but against the requested freq
+	 * reported in sysfs. Also increase the tolerance a bit to account for
+	 * dynamically changing efficient/requested freq
+	 */
+	assert_within_epsilon(min[0], min_req, 0.1f);
 	/*
 	 * On thermally throttled devices we cannot be sure maximum frequency
 	 * can be reached so use larger tolerance downards.
-- 
2.38.0

  reply	other threads:[~2023-01-07  1:11 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-07  1:11 [igt-dev] [PATCH i-g-t 0/3] Fix PMU freq verification with SLPC Ashutosh Dixit
2023-01-07  1:11 ` Ashutosh Dixit [this message]
2023-01-07  1:11 ` [igt-dev] [PATCH i-g-t 2/3] tests/gem_ctx_freq: Compare against requested freq Ashutosh Dixit
2023-01-07  1:11 ` [igt-dev] [PATCH i-g-t 3/3] HAX: Add gem_ctx_freq@sysfs and perf_pmu@frequency to fast-feedback.testlist Ashutosh Dixit
2023-01-07  2:01 ` [igt-dev] ✓ Fi.CI.BAT: success for Fix PMU freq verification with SLPC (rev5) Patchwork
2023-01-07  3:59 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-01-07 23:51 ` [igt-dev] ✓ Fi.CI.BAT: success for Fix PMU freq verification with SLPC (rev6) Patchwork
2023-01-08  1:13 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-01-09 18:49 ` [igt-dev] ✓ Fi.CI.BAT: success for Fix PMU freq verification with SLPC (rev7) Patchwork
2023-01-10  2:28 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2023-01-10 19:47 [igt-dev] [PATCH i-g-t 0/3] Fix PMU freq verification with SLPC Ashutosh Dixit
2023-01-10 19:47 ` [igt-dev] [PATCH i-g-t 1/3] tests/perf_pmu: Compare against requested freq in frequency subtest Ashutosh Dixit
2023-01-11  9:54   ` Tvrtko Ursulin
2023-02-15  4:02     ` Dixit, Ashutosh
2023-03-02 13:37       ` Tvrtko Ursulin
2023-03-02 13:50         ` Tvrtko Ursulin
2023-03-03  3:04           ` Dixit, Ashutosh
2023-03-03  9:46             ` Tvrtko Ursulin
2023-01-05  4:41 [igt-dev] [PATCH i-g-t 0/3] Fix PMU freq verification with SLPC Ashutosh Dixit
2023-01-05  4:41 ` [igt-dev] [PATCH i-g-t 1/3] tests/perf_pmu: Compare against requested freq in frequency subtest Ashutosh Dixit

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=20230107011127.39537-2-ashutosh.dixit@intel.com \
    --to=ashutosh.dixit@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /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.