From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 0/6] drm/i915: Avoid stuck page flip waiters on GPU reset Date: Tue, 29 Jan 2013 17:40:57 +0100 Message-ID: <20130129164057.GT14766@phenom.ffwll.local> References: <1359476018-31274-1-git-send-email-ville.syrjala@linux.intel.com> <20130129163946.GS14766@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) by gabe.freedesktop.org (Postfix) with ESMTP id E8AC3E68A0 for ; Tue, 29 Jan 2013 08:38:57 -0800 (PST) Received: by mail-wi0-f182.google.com with SMTP id hn14so616485wib.9 for ; Tue, 29 Jan 2013 08:38:57 -0800 (PST) Content-Disposition: inline In-Reply-To: <20130129163946.GS14766@phenom.ffwll.local> 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: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Tue, Jan 29, 2013 at 05:39:46PM +0100, Daniel Vetter wrote: > On Tue, Jan 29, 2013 at 06:13:32PM +0200, ville.syrjala@linux.intel.com wrote: > > Someone mentioned on irc that intel_crtc_wait_for_pending_flips() was > > getting stuck in some cases. This rang a bell since I was poking around > > that stuff last year. > > > > The issue that I'm trying to fix here is processes getting stuck in D > > state when a GPU reset happens while page flips have been scheduled. > > > > Testing is easy 1) fire up 'glxgears -fullscreen', run 'gem_hang 0', > > try to VT switch. Without this series X and some kworker soon get stuck > > in D state and you're left with a useless box. With the patch set, you > > wait a while, the GPU hangcheck kicks in, and you get your console back. > > Broken record maintainer request: Can you please bake that into an i-g-t? > I think (hope) that running one of the delayed flip tests vs. the hangman > (gem_hang is a bit evil since it can kill boxes for real) should do the > trick. Then maybe also run one of the wf-vblank tests vs. hangman to check > that we cancel those correctly, too. Actually for the case you're fixing here we probably need a delayed flip vs. modeset (without flip event checks) against a simulated gpu hang. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch