From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [i-g-t PATCH] tests/gem_wait_render_timeout: make sure the GPU is idle before exiting Date: Tue, 28 May 2013 11:31:30 +0200 Message-ID: <20130528093130.GW15743@phenom.ffwll.local> References: <1369669362-21300-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-ee0-f51.google.com (mail-ee0-f51.google.com [74.125.83.51]) by gabe.freedesktop.org (Postfix) with ESMTP id B5D9EE5FD3 for ; Tue, 28 May 2013 02:31:35 -0700 (PDT) Received: by mail-ee0-f51.google.com with SMTP id e51so4490344eek.38 for ; Tue, 28 May 2013 02:31:34 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1369669362-21300-1-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Imre Deak Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Mon, May 27, 2013 at 06:42:42PM +0300, Imre Deak wrote: > Leaving the GPU running after we exit can mess up timing dependent tests > we run afterwards. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64270 > > Signed-off-by: Imre Deak I've flailed around in this area since forever, see gem_quiescent_gpu in drmtest.c. I wonder whether we shouldn't just install an atexit handler with this and maybe for full paranoia run it in drm_open_any, too? One ugly bug with that function is that it doesn't quiescent all rings on gen6+ though. So I guess that needs fixing. -Daniel > --- > tests/gem_wait_render_timeout.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tests/gem_wait_render_timeout.c b/tests/gem_wait_render_timeout.c > index 14482e3..9ec4e49 100644 > --- a/tests/gem_wait_render_timeout.c > +++ b/tests/gem_wait_render_timeout.c > @@ -216,6 +216,11 @@ int main(int argc, char **argv) > assert(gem_bo_wait_timeout(fd, dst2->handle, &timeout) == -ETIME); > assert(timeout == 0); > > + /* Make sure we exit only after the GPU is idle. Apply some fuzz > + * to the timeout since the calibrated iteration count can be > + * twice the amount the GPU can execute in a second. */ > + timeout = 5 * ENOUGH_WORK_IN_SECONDS * NSEC_PER_SEC; > + assert(gem_bo_wait_timeout(fd, dst2->handle, &timeout) == 0); > > if (do_signals) > drmtest_stop_signal_helper(); > -- > 1.8.1.2 > > _______________________________________________ > 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