public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [PATCH] drm/i915: Revert async unpin and nonblocking atomic commit
Date: Wed, 25 May 2016 09:35:34 +0200	[thread overview]
Message-ID: <20160525073533.GG27098@phenom.ffwll.local> (raw)
In-Reply-To: <58071577-5121-cea6-7465-b64318c62cd3@linux.intel.com>

On Wed, May 25, 2016 at 08:57:49AM +0200, Maarten Lankhorst wrote:
> Op 24-05-16 om 17:49 schreef Daniel Vetter:
> > This reverts the following patches:
> >
> > d55dbd06bb5e1399aba9ab5227465339d1bbefff drm/i915: Allow nonblocking update of pageflips.
> > 15c86bdb760185e871c7a0f559978328aa500971 drm/i915: Check for unpin correctness.
> > 95c2ccdc82d520f59ae3b6fdc097b63c9b7082bb Reapply "drm/i915: Avoid stalling on pending flips for legacy cursor updates"
> > a6747b7304a9d66758a196d885dab8bbfa5e7d1f drm/i915: Make unpin async.
> > 03f476e1fcb42fca88fc50b94b0d3adbdbe887f0 drm/i915: Prepare connectors for nonblocking checks.
> > 2099deffef4404f949ba1b68d2b17e0608190bc2 drm/i915: Pass atomic states to fbc update functions.
> > ee7171af72c39c18b7d7571419a4ac6ca30aea66 drm/i915: Remove reset_counter from intel_crtc.
> > 2ee004f7c59b2e642f0bb2834f847d756f2dd7b7 drm/i915: Remove queue_flip pointer.
> > b8d2afae557dbb9b9c7bc6f6ec4f5278f3c4c34e drm/i915: Remove use_mmio_flip kernel parameter.
> > 8dd634d922615ec3a9af7976029110ec037f8b50 drm/i915: Remove cs based page flip support.
> > 143f73b3bf48c089b40f58462dd7f7c199fd4f0f drm/i915: Rework intel_crtc_page_flip to be almost atomic, v3.
> > 84fc494b64e8c591be446a966b7447a9db519c88 drm/i915: Add the exclusive fence to plane_state.
> > 6885843ae164e11f6c802209d06921e678a3f3f3 drm/i915: Convert flip_work to a list.
> > aa420ddd8eeaa5df579894a412289e4d07c2fee9 drm/i915: Allow mmio updates on all platforms, v2.
> > afee4d8707ab1f21b7668de995be3a5961e83582 Revert "drm/i915: Avoid stalling on pending flips for legacy cursor updates"
> >
> > "drm/i915: Allow nonblocking update of pageflips" should have been
> > split up, misses a proper commit message and seems to cause issues in
> > the legacy page_flip path as demonstrated by kms_flip.
> >
> > "drm/i915: Make unpin async" doesn't handle the unthrottled cursor
> > updates correctly, leading to an apparent pin count leak. This is
> > caught by the WARN_ON in i915_gem_object_do_pin which screams if we
> > have more than DRM_I915_GEM_OBJECT_MAX_PIN_COUNT pins.
> >
> > Unfortuantely we can't just revert these two because this patch series
> > came with a built-in bisect breakage in the form of temporarily
> > removing the unthrottled cursor update hack for legacy cursor ioctl.
> > Therefore there's no other option than to revert the entire pile :(
> >
> > There's one tiny conflict in intel_drv.h due to other patches, nothing
> > serious.
> >
> > Normally I'd wait a bit longer with doing a maintainer revert, but
> > since the minimal set of patches we need to revert (due to the bisect
> > breakage) is so big, time is running out fast. And very soon
> > (especially after a few attempts at fixing issues) it'll be really
> > hard to revert things cleanly.
> >
> > Lessons learned:
> > - Not a good idea to rush the review (done by someone fairly new to
> >   the area) and not make sure domain experts had a chance to read it.
> >
> > - Patches should be properly split up. I only looked at the two
> >   patches that should be reverted in detail, but both look like the
> >   mix up different things in one patch.
> >
> > - Patches really should have proper commit messages. Especially when
> >   doing more than one thing, and especially when touching critical and
> >   tricky core code.
> >
> > - Building a patch series and r-b stamping it when it has a built-in
> >   bisect breakage is not a good idea.
> >
> > - I also think we need to stop building up technical debt by
> >   postponing atomic igt testcases even longer. I think it's clear that
> >   there's enough corner cases in this beast that we really need to
> >   have the testcases _before_ the next step lands.
> Acked-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

Ok applied&pushed with irc acks from Dave, Jani&Ville added.

> It should be possible to make avoid stalling work without much issue after reworking intel_crtc_page_flip to be almost atomic,
> but it would be better to edit the mmio updates on all platforms patch for lesson #4..

Yeah, this entire story would have been much less tricky without that.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-05-25  7:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-24 15:49 [PATCH] drm/i915: Revert async unpin and nonblocking atomic commit Daniel Vetter
2016-05-24 16:12 ` ✗ Ro.CI.BAT: warning for " Patchwork
2016-05-25  7:32   ` Daniel Vetter
2016-05-25 11:42     ` Marius Vlad
2016-05-25  6:57 ` [PATCH] " Maarten Lankhorst
2016-05-25  7:35   ` Daniel Vetter [this message]
2016-05-25  8:33     ` Maarten Lankhorst

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=20160525073533.GG27098@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=maarten.lankhorst@linux.intel.com \
    /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