The clone() system call has difficulty to make progress if interrupted
frequently by the signal helper process. At least on an APL, like in the
Bugzilla ticket below, this can introduce minutes of overhead to a
single system() call (leading to a global CI timeout). To get rid of the
overhead suspend the signal helper process for the duration of the
system() call, which is provided already by igt_system().

Cc: Chris Wilson <[email protected]>
Cc: Daniel Vetter <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103160
Signed-off-by: Imre Deak <[email protected]>
---
 lib/igt_aux.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/igt_aux.c b/lib/igt_aux.c
index 36dfab43..a1c5e2cf 100644
--- a/lib/igt_aux.c
+++ b/lib/igt_aux.c
@@ -794,7 +794,7 @@ static void suspend_via_rtcwake(enum igt_suspend_state 
state)
         */
        snprintf(cmd, sizeof(cmd), "rtcwake -n -s %d -m %s " SQUELCH,
                 delay, suspend_state_name[state]);
-       ret = system(cmd);
+       ret = igt_system(cmd);
        igt_require_f(ret == 0, "rtcwake test failed with %i\n"
                     "This failure could mean that something is wrong with "
                     "the rtcwake tool or how your distro is set up.\n",
@@ -802,7 +802,7 @@ static void suspend_via_rtcwake(enum igt_suspend_state 
state)
 
        snprintf(cmd, sizeof(cmd), "rtcwake -s %d -m %s ",
                 delay, suspend_state_name[state]);
-       ret = system(cmd);
+       ret = igt_system(cmd);
        igt_assert_f(ret == 0,
                     "rtcwake failed with %i\n"
                     "Check dmesg for further details.\n",
-- 
2.13.2

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to