From: don.hiatt@intel.com
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t] lib/igt_pm: Adjust pm status check timeout and log timing
Date: Tue, 10 Mar 2020 10:09:28 -0700 [thread overview]
Message-ID: <20200310170928.109826-1-don.hiatt@intel.com> (raw)
From: Don Hiatt <don.hiatt@intel.com>
Increase the overall time we wait to achieve the desired runtime
status to 15 seconds to fix an occasional timeout and do so
in 1 second increments to speed up exiting. Also log the
amount of time we waited to get a handle on how much variation
we run into.
These changes will allow us to log more information on an
occassional timeout we are seeing when expecting the runtime
status to change, with the extra logs we hope to pinpoint the
race we suspect might be there. Also, on local runs we generally
see it only takes from 1-3 seconds so switching from a fixed
10 second timeout to a loop in 1 second increments will speed
things up for the majority of test runs.
v2: Update commit message
Signed-off-by: Don Hiatt <don.hiatt@intel.com>
Reviewed-by: Sujaritha Sundaresan <sujaritha.sundaresan@intel.com>
---
lib/igt_pm.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/lib/igt_pm.c b/lib/igt_pm.c
index 9d441e1b76ff..13675fca0c9d 100644
--- a/lib/igt_pm.c
+++ b/lib/igt_pm.c
@@ -747,8 +747,8 @@ static const char *_pm_status_name(enum igt_runtime_pm_status status)
* igt_wait_for_pm_status:
* @status: desired runtime PM status
*
- * Waits until for the driver to switch to into the desired runtime PM status,
- * with a 10 second timeout.
+ * Waits for the driver to switch into the desired runtime PM status,
+ * with up to a 15 second timeout in 1 second increments.
*
* Returns:
* True if the desired runtime PM status was attained, false if the operation
@@ -758,7 +758,7 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status)
{
enum igt_runtime_pm_status expected = status;
bool ret;
- int fd;
+ int fd, i;
if (__igt_pm_power < 0)
return false;
@@ -766,8 +766,16 @@ bool igt_wait_for_pm_status(enum igt_runtime_pm_status status)
fd = openat(__igt_pm_power, "runtime_status", O_RDONLY);
igt_assert_f(fd >= 0, "Can't open runtime_status\n");
- ret = igt_wait((status = __igt_get_runtime_pm_status(fd)) == expected,
- 10000, 100);
+ for (i=1; i < 16; ++i) {
+ ret = igt_wait((status = __igt_get_runtime_pm_status(fd)) == expected,
+ 1000, 100);
+
+ if (ret) {
+ igt_info("Got expected (%s) runtime pm status in %d second(s)\n",
+ _pm_status_name(expected), i);
+ break;
+ }
+ }
close(fd);
if (!ret)
--
2.25.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next reply other threads:[~2020-03-10 16:56 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-10 17:09 don.hiatt [this message]
2020-03-10 17:00 ` [igt-dev] [PATCH i-g-t] lib/igt_pm: Adjust pm status check timeout and log timing Chris Wilson
2020-03-10 17:11 ` Hiatt, Don
2020-03-11 8:09 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_pm: Adjust pm status check timeout and log timing (rev2) Patchwork
2020-03-11 9:55 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2020-03-06 17:28 [igt-dev] [PATCH i-g-t] lib/igt_pm: Adjust pm status check timeout and log timing don.hiatt
2020-03-06 22:14 ` Sujaritha
2020-03-09 15:57 ` Sujaritha
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=20200310170928.109826-1-don.hiatt@intel.com \
--to=don.hiatt@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox