From patchwork Fri Mar 14 09:27:46 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 3831571 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 6AFB8BF540 for ; Fri, 14 Mar 2014 09:28:06 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7C6482034A for ; Fri, 14 Mar 2014 09:28:05 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id AB71B202F8 for ; Fri, 14 Mar 2014 09:28:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 445CAFB379; Fri, 14 Mar 2014 02:28:02 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-ee0-f41.google.com (mail-ee0-f41.google.com [74.125.83.41]) by gabe.freedesktop.org (Postfix) with ESMTP id A0658FB379 for ; Fri, 14 Mar 2014 02:28:00 -0700 (PDT) Received: by mail-ee0-f41.google.com with SMTP id t10so1135205eei.28 for ; Fri, 14 Mar 2014 02:27:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id; bh=s9Mjo9h3ijBy1826quG+0noTuOyN2A1XkESYv5T26CE=; b=lOUZ3jbB3TIpmQwS9DhIIqtNpIrlgFr3wa/6YPTfq0k2z9I6/wOqQ8aJMxJe2Tmi31 7eMriAt63H2gHh/tDjwiPvx44zdj7RaKEYMmViQ/mjKMv7YuJlCXifihdXeMWqxITMo7 4WwiGs8xdkbL9sxbcfwnPWWue2CkrEBDyVmLE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=s9Mjo9h3ijBy1826quG+0noTuOyN2A1XkESYv5T26CE=; b=KAA2GyoRiwDVW7IGZad6iwT5KGflf9Hxx72K0X2KDUiXQOUtQuTst2fwCibRh6Hbrm p4Kd516tOseW2Hd16IZw6TDWcZ4f+LX4+UqZHm5CXhRS5ddYqDjHKuuMXqjBSTJy4GGq YsF4lvtTuHt87Sswl5+RvL4P7MyB1au+Ql73PWMPxiDAxyXpXxosm2La6w9TV220itex lAVmPFIA3m54/agzRX8u3+CIA6rzchAJr6yGY8nDiicDOk0FQu81gHwJoUbXNFai72Ty 22L6VbwGzsognmZuWS1HQemmPUVQkbVs5QPnqyilTzIL65IXNCc6I3ROkNtBYvql4jrB /KyQ== X-Gm-Message-State: ALoCoQktDtiRv9m7xa9tjgeQDRJmMN160SgKVzqtuCU/G2iBsRsGgntoz6/1P227N0kf4gtZqU2u X-Received: by 10.14.7.65 with SMTP id 41mr1848596eeo.100.1394789279845; Fri, 14 Mar 2014 02:27:59 -0700 (PDT) Received: from aaron.ffwll.local (84-73-67-144.dclient.hispeed.ch. [84.73.67.144]) by mx.google.com with ESMTPSA id f45sm15886853eeg.5.2014.03.14.02.27.58 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Mar 2014 02:27:58 -0700 (PDT) From: Daniel Vetter To: Intel Graphics Development Date: Fri, 14 Mar 2014 10:27:46 +0100 Message-Id: <1394789268-28703-1-git-send-email-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 1.8.4.rc3 Cc: Daniel Vetter Subject: [Intel-gfx] [PATCH 1/3] tests/pm_rps: ducttape for igt fork helper cleanup issues X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We don't call cleanup handlers when exiting a subtest currently, only when exiting the entire binary. Which means pm_rps falls over when it fails more than one subtest. Cc: Jeff McGee Signed-off-by: Daniel Vetter --- tests/pm_rps.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/tests/pm_rps.c b/tests/pm_rps.c index a652cf580dc7..b1cd13fc33a7 100644 --- a/tests/pm_rps.c +++ b/tests/pm_rps.c @@ -196,9 +196,27 @@ static void emit_store_dword_imm(uint32_t val) } #define LOAD_HELPER_PAUSE_USEC 500 +static void load_helper_set_load(enum load load) +{ + assert(lh.igt_proc.running); + + if (lh.load == load) + return; + + lh.load = load; + kill(lh.igt_proc.pid, SIGUSR2); +} + static void load_helper_run(enum load load) { - assert(!lh.igt_proc.running); + /* + * FIXME fork helpers won't get cleaned up when started from within a + * subtest, so handle the case where it sticks around a bit too long. + */ + if (lh.igt_proc.running) { + load_helper_set_load(load); + return; + } igt_require(lh.ready == true); @@ -229,20 +247,8 @@ static void load_helper_run(enum load load) } } -static void load_helper_set_load(enum load load) -{ - assert(lh.igt_proc.running); - - if (lh.load == load) - return; - - lh.load = load; - kill(lh.igt_proc.pid, SIGUSR2); -} - static void load_helper_stop(void) { - assert(lh.igt_proc.running); kill(lh.igt_proc.pid, SIGUSR1); igt_wait_helper(&lh.igt_proc); }