From: ville.syrjala@linux.intel.com
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH 0/6] drm/i915: Avoid stuck page flip waiters on GPU reset
Date: Tue, 29 Jan 2013 18:13:32 +0200 [thread overview]
Message-ID: <1359476018-31274-1-git-send-email-ville.syrjala@linux.intel.com> (raw)
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.
The irc discussion was apparently about [1], but since the dmesg there
doesn't show a GPU hang, I don't see this patch set fixing it. Frankly,
I have no idea what's happening there.
Additional work after this would involve sending out pending page flip
events. Currently if you don't do the VT switch after a hang, glxgears
remains stuck because the X server didn't get the page flip event from
the kernel. Also we should probably do an explicit intel_pipe_set_base()
with the current fb, to make sure we show the correct fb after the hang.
But I'm not going to touch these right now. Actually I'm hoping someone
else will volunteer for these tasks ;)
[1] https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1097315
next reply other threads:[~2013-01-29 16:14 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-29 16:13 ville.syrjala [this message]
2013-01-29 16:13 ` [PATCH 1/6] drm/i915: Kill obj->pending_flip ville.syrjala
2013-02-13 10:16 ` Damien Lespiau
2013-02-13 16:13 ` Daniel Vetter
2013-01-29 16:13 ` [PATCH 2/6] drm/i915: Don't wait for page flips if there was GPU reset ville.syrjala
2013-02-13 10:23 ` Damien Lespiau
2013-02-13 10:51 ` Ville Syrjälä
2013-02-13 11:49 ` Daniel Vetter
2013-02-13 15:23 ` Daniel Vetter
2013-02-13 16:52 ` Ville Syrjälä
2013-02-13 17:09 ` Daniel Vetter
2013-01-29 16:13 ` [PATCH 3/6] drm/i915: Wake up pending_flip_queue as part of reset handling ville.syrjala
2013-02-13 10:24 ` Damien Lespiau
2013-02-13 15:31 ` Daniel Vetter
2013-01-29 16:13 ` [PATCH 4/6] drm/i915: Move intel_crtc_has_pending_flip() earlier ville.syrjala
2013-02-13 10:27 ` Damien Lespiau
2013-01-29 16:13 ` [PATCH 5/6] drm/i915: Add intel_crtc_wait_for_pending_flips_locked() ville.syrjala
2013-02-13 10:37 ` Damien Lespiau
2013-01-29 16:13 ` [PATCH 6/6] drm/i915: Really wait for pending flips in intel_pipe_set_base() ville.syrjala
2013-02-13 10:40 ` Damien Lespiau
2013-02-13 15:49 ` Daniel Vetter
2013-02-13 17:06 ` Ville Syrjälä
2013-02-13 17:11 ` Daniel Vetter
2013-02-13 17:26 ` Ville Syrjälä
2013-02-13 17:31 ` Daniel Vetter
2013-02-13 17:39 ` Chris Wilson
2013-01-29 16:39 ` [PATCH 0/6] drm/i915: Avoid stuck page flip waiters on GPU reset Daniel Vetter
2013-01-29 16:40 ` Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1359476018-31274-1-git-send-email-ville.syrjala@linux.intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox