From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 2/5] drm/i915: use wait_event_timeout when waiting for flip completions
Date: Sat, 28 Sep 2013 07:58:43 -0700 [thread overview]
Message-ID: <20130928075843.0b2ef0d0@jbarnes-desktop> (raw)
In-Reply-To: <CAKMK7uFLp=APDFcdhNkffYtNmQ5ZVo1KvSk53i0mr4csbkVvGg@mail.gmail.com>
On Sat, 28 Sep 2013 11:35:11 +0200
Daniel Vetter <daniel@ffwll.ch> wrote:
> On Fri, Sep 27, 2013 at 9:57 PM, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> > We're shutting the crtc off and don't want to hang forever.
>
> Reading the source and the test-suite is advisable ;-)
> - We actually don't hang here if the MI_DISPLAY_FLIP doesn't happen.
> - We already recover the display state (not so relevant here where we
> shut it off, but in the set_base path where we have the same problem
> with waiting for flips).
> - We have extensive test coverage for gpu hangs vs. flips in all kinds
> of contrived situations in igt.
>
> That leaves us with the flip not completing in the hw after the
> MI_DISPLAY_FLIP has executed. Usually that just means we miss a
> workaround or have a bug in our code, and again we have extensive
> testcases for this.
>
> Furthermore the hang recover code is ridiculously tricky - just for
> 3.12-fixes I've hunted down 3 deadlocks in there. By bailing out too
> early you have a good chance to confuse the code and actually make
> matters worse ;-)
Sorry replied from my phone earlier.
Maybe you should read my earlier reply to Chris.
It's all very nice to say "it doesn't hang here". However it does hang
waiting in this function on this machine.
It could be that the DPLL CRI clock source fix fixes that, I haven't
re-tested yet.
But this was also not meant for submission, and the earlier reply made
that clear (plus the obvious stuff Chris pointed out), so I don't need
the extra snark in this message.
On top of that, if this code has become so complex and fragile, maybe
it's time to re-think it. Maybe we should drop ring based flips
altogether and just go with MMIO, and forget about all the races and
even pipe off cases, and just emit completions at vblank time or
immediately after the MMIO is written.
--
Jesse Barnes, Intel Open Source Technology Center
next prev parent reply other threads:[~2013-09-28 14:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-27 19:57 [PATCH 1/5] drm/i915/vlv: reduce GT FIFO error info to a debug message Jesse Barnes
2013-09-27 19:57 ` [PATCH 2/5] drm/i915: use wait_event_timeout when waiting for flip completions Jesse Barnes
2013-09-27 20:45 ` Chris Wilson
2013-09-27 21:27 ` Jesse Barnes
2013-09-28 9:35 ` Daniel Vetter
2013-09-28 14:58 ` Jesse Barnes [this message]
2013-09-27 19:57 ` [PATCH 3/5] drm/i915/vlv: warn on bad VLV PLL divider values Jesse Barnes
2013-09-27 20:05 ` Chris Wilson
2013-09-27 20:11 ` Daniel Vetter
2013-09-27 20:17 ` Jesse Barnes
2013-09-27 19:57 ` [PATCH 4/5] drm/i915/vlv: untangle integrated clock source handling v2 Jesse Barnes
2013-09-27 19:57 ` [PATCH 5/5] drm/i915/vlv: add valleyview_crtc_disable function Jesse Barnes
2013-09-27 20:05 ` Daniel Vetter
-- strict thread matches above, loose matches on Subject: below --
2013-09-28 14:18 [PATCH 2/5] drm/i915: use wait_event_timeout when waiting for flip completions Jesse Barnes
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=20130928075843.0b2ef0d0@jbarnes-desktop \
--to=jbarnes@virtuousgeek.org \
--cc=daniel@ffwll.ch \
--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