tests/pm_rps: quiescent harder
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 26 Mar 2014 20:30:17 +0000 (21:30 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 26 Mar 2014 20:33:38 +0000 (21:33 +0100)
Apparently some rps chips are prone to stick to max once you're there.
And all the synchronous waits in gem_quiescent_gpu are _really_ good
at forcing the kernel to go full throttle.

And even a positively tiny load (one MI_STORE_IMM per 50 ms) is enough
to eternally keeep it there, which means the first idle measurement of
the freqs before we do the reset it completely busted.

Just add a wait before the tricky test and call it a day.

Option b) would have been to now have this tiny load, but I think a
good reminder how quirky rps is is always welcome. Just in case we
start sleeping too easy at night.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74956
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
tests/pm_rps.c

index 157f9e3..7898e78 100644 (file)
@@ -488,6 +488,12 @@ static void reset(void)
        int pre_freqs[NUMFREQ];
        int post_freqs[NUMFREQ];
 
+       /*
+        * quiescent_gpu upsets the gpu and makes it get pegged to max somehow.
+        * Don't ask.
+        */
+       sleep(10);
+
        igt_debug("Apply low load...\n");
        load_helper_run(LOW);
        stabilize_check(pre_freqs);