diff mbox

[igt] igt/pm_rps: Always allocate spin[0]

Message ID 20171211123714.16075-1-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson Dec. 11, 2017, 12:37 p.m. UTC
Avoid having to test for spin[0] existing by starting the load-loop with
it allocated.

References: https://bugs.freedesktop.org/show_bug.cgi?id=104060
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 tests/pm_rps.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

Comments

Arkadiusz Hiler Dec. 19, 2017, 12:05 p.m. UTC | #1
On Mon, Dec 11, 2017 at 04:18:40PM +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: igt/pm_rps: Always allocate spin[0]
> URL   : https://patchwork.freedesktop.org/series/35176/
> State : failure
> 
> == Summary ==
> 
> Test gem_tiled_swapping:
>         Subgroup non-threaded:
>                 incomplete -> PASS       (shard-hsw) fdo#104009
> Test pm_rps:
>         Subgroup min-max-config-loaded:
>                 pass       -> FAIL       (shard-snb)
>                 pass       -> FAIL       (shard-hsw)

Just for the sanity, so it does not look like it's lingering here
unattended.

Seems to break it for all platforms:
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_642/shard-snb4/igt@pm_rps@min-max-config-loaded.html
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_642/shard-hsw1/igt@pm_rps@min-max-config-loaded.html
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_642/shard-apl1/igt@pm_rps@min-max-config-loaded.html
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_642/shard-kbl7/igt@pm_rps@min-max-config-loaded.html

Causing the same fail:
--------------------------------------------------------------------------------------------------------
Increase max above RP0 (invalid)...
(pm_rps:2211) DEBUG: gt freq (MHz):  cur=1350  min=850  max=1350  RP0=1350  RP1=850  RPn=850  boost=1350
(pm_rps:2211) DEBUG: Required 0 msec to reach cur=max
(pm_rps:2211) CRITICAL: Test assertion failure function load_helper_stop, file pm_rps.c:277:
(pm_rps:2211) CRITICAL: Failed assertion: igt_wait_helper(&lh.igt_proc) == 0
(pm_rps:2211) CRITICAL: Last errno: 22, Invalid argument
(pm_rps:2211) igt-core-INFO: Stack trace:
(pm_rps:2211) igt-core-INFO:   #0 [__igt_fail_assert+0x101]
(pm_rps:2211) igt-core-INFO:   #1 [load_helper_stop+0x4f]
(pm_rps:2211) igt-core-INFO:   #2 [__real_main564+0x1a8]
(pm_rps:2211) igt-core-INFO:   #3 [main+0x27]
(pm_rps:2211) igt-core-INFO:   #4 [__libc_start_main+0xf1]
(pm_rps:2211) igt-core-INFO:   #5 [_start+0x2a]
(pm_rps:2211) igt-core-INFO:   #6 [<unknown>+0x2a]
--------------------------------------------------------------------------------------------------------
diff mbox

Patch

diff --git a/tests/pm_rps.c b/tests/pm_rps.c
index 57633c547..8f16ea47f 100644
--- a/tests/pm_rps.c
+++ b/tests/pm_rps.c
@@ -231,24 +231,24 @@  static void load_helper_run(enum load load)
 
 		igt_debug("Applying %s load...\n", lh.load ? "high" : "low");
 
+		spin[0] = igt_spin_batch_new(drm_fd, 0, 0, 0);
 		while (!lh.exit) {
-			if (spin[0]) {
-				handle = spin[0]->handle;
-				igt_spin_batch_end(spin[0]);
-				while (gem_bo_busy(drm_fd, handle))
-					usleep(100);
-				igt_spin_batch_free(drm_fd, spin[0]);
+			handle = spin[0]->handle;
+			igt_spin_batch_end(spin[0]);
+			while (gem_bo_busy(drm_fd, handle))
 				usleep(100);
-			}
+
+			igt_spin_batch_free(drm_fd, spin[0]);
+			usleep(100);
+
 			spin[0] = spin[1];
 			spin[lh.load == HIGH] =
-				igt_spin_batch_new(drm_fd, 0, 0, 0);
+				__igt_spin_batch_new(drm_fd, 0, 0, 0);
 		}
 
-		if (spin[0]) {
-			handle = spin[0]->handle;
-			igt_spin_batch_end(spin[0]);
-		}
+		handle = spin[0]->handle;
+		igt_spin_batch_end(spin[0]);
+
 		if (spin[1]) {
 			handle = spin[1]->handle;
 			igt_spin_batch_end(spin[1]);