From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH igt] tests/kms_flip: Move EBUSY to a new busy-flip subtest Date: Wed, 4 Jun 2014 18:14:42 +0200 Message-ID: <20140604161442.GO7416@phenom.ffwll.local> References: <1401886579-12299-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail-we0-f171.google.com (mail-we0-f171.google.com [74.125.82.171]) by gabe.freedesktop.org (Postfix) with ESMTP id D5EAE6E077 for ; Wed, 4 Jun 2014 09:14:48 -0700 (PDT) Received: by mail-we0-f171.google.com with SMTP id w62so8701740wes.2 for ; Wed, 04 Jun 2014 09:14:47 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1401886579-12299-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Wed, Jun 04, 2014 at 03:56:19PM +0300, ville.syrjala@linux.intel.com wro= te: > From: Ville Syrj=E4l=E4 > = > The EBUSY checking is very fragile currently in case there's any kind > extra delay in the test loop. At least the flip-vs-rmfb fails reliably > on my IVB. > = > So to make the test less fragile remove the EBUSY check from all the > current flip tests, and instead add a specific busy-flip test. To > better guarantee that we get the EBUSY add a blocking vblank wait just > before we issue the first flip. This maximizes the time we have to > submit two flips during one frame. > = > Signed-off-by: Ville Syrj=E4l=E4 Yeah, no need to test api error cases in funky special situations. Reviewed-by: Daniel Vetter > --- > tests/kms_flip.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > = > diff --git a/tests/kms_flip.c b/tests/kms_flip.c > index 6711f09..46ce2ed 100644 > --- a/tests/kms_flip.c > +++ b/tests/kms_flip.c > @@ -894,6 +894,12 @@ static unsigned int run_test_step(struct test_output= *o) > igt_assert_f(hang, "failed to exercise page flip hang recovery\n"); > } > = > + /* try to make sure we can issue two flips during the same frame */ > + if (do_flip && (o->flags & TEST_EBUSY)) { > + struct vblank_reply reply; > + igt_assert(__wait_for_vblank(TEST_VBLANK_BLOCK, o->pipe, 1, 0, &reply)= =3D=3D 0); > + } > + > if (do_flip) > do_or_die(do_page_flip(o, new_fb_id, !(o->flags & TEST_NOEVENT))); > = > @@ -1536,12 +1542,13 @@ int main(int argc, char **argv) > { 60, TEST_VBLANK | TEST_MODESET | TEST_WITH_DUMMY_RCS, > "rcs-wf_vblank-vs-modeset" }, > = > - { 30, TEST_FLIP | TEST_EBUSY , "plain-flip" }, > + { 30, TEST_FLIP , "plain-flip" }, > + { 30, TEST_FLIP | TEST_EBUSY , "busy-flip" }, > { 30, TEST_FLIP | TEST_FENCE_STRESS , "flip-vs-fences" }, > - { 30, TEST_FLIP | TEST_CHECK_TS | TEST_EBUSY , "plain-flip-ts-check" }, > - { 30, TEST_FLIP | TEST_CHECK_TS | TEST_EBUSY | TEST_FB_RECREATE, > + { 30, TEST_FLIP | TEST_CHECK_TS, "plain-flip-ts-check" }, > + { 30, TEST_FLIP | TEST_CHECK_TS | TEST_FB_RECREATE, > "plain-flip-fb-recreate" }, > - { 30, TEST_FLIP | TEST_EBUSY | TEST_RMFB | TEST_MODESET , "flip-vs-rmf= b" }, > + { 30, TEST_FLIP | TEST_RMFB | TEST_MODESET , "flip-vs-rmfb" }, > { 60, TEST_FLIP | TEST_DPMS | TEST_EINVAL, "flip-vs-dpms" }, > { 60, TEST_FLIP | TEST_DPMS | TEST_WITH_DUMMY_BCS, "bcs-flip-vs-dpms" = }, > { 60, TEST_FLIP | TEST_DPMS | TEST_WITH_DUMMY_RCS, "rcs-flip-vs-dpms" = }, > -- = > 1.8.5.5 > = > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- = Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch