From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH 2/2] drm/i915: Remove fence pipelining infrastructure Date: Fri, 23 Mar 2012 20:02:05 +0000 Message-ID: References: <1332429001-13725-1-git-send-email-chris@chris-wilson.co.uk> <1332429001-13725-2-git-send-email-chris@chris-wilson.co.uk> <20120323191837.GH4087@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mga14.intel.com (mga14.intel.com [143.182.124.37]) by gabe.freedesktop.org (Postfix) with ESMTP id 46A0E9F39E for ; Fri, 23 Mar 2012 13:02:24 -0700 (PDT) In-Reply-To: <20120323191837.GH4087@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: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Fri, 23 Mar 2012 20:18:37 +0100, Daniel Vetter wrote: > On Thu, Mar 22, 2012 at 03:10:01PM +0000, Chris Wilson wrote: > > I have failed to find a way to make this work without random GPU deaths, > > so remove the ability to pipeline a fence update using the GPU. In the > > process, we can refactor the code to improve the error handling and > > avoid unnecessary modifications to our VMA if we do not need to update > > the fence register. > > > > Signed-off-by: Chris Wilson > > Mea culpa, but I agree that it's better to reap this instead of letting it > languish even longer as some dead code. For the patch itself, this does > way too much. Imo the gem_write_fence rework and the reaping of the > pipelining logic should be separate patches (maybe even more) - I don't > quite see through this patch and follow where things move to. I got bored of rewriting the same 200 lines with the incremental churn. Every patch only made sense as "preparing to rip out pipelining". > Maybe also add some more comments about the lifetime rules wrt obj->ring > obj->last_rendering_seqno and obj->last_fenced_seqno. > > Also, if you have any ideas for crazy i-g-t tests, I think we should use > this opportunity to fill some of the gapping wholes wrt fencing we have in > our testuite. The obvious failure conditions all seem to revolve around racing with pending GPU writes, those should be hit by gem_stress. The less obvious ones where the GPU dies and everything in the error state looks consistent and coherent, I haven't a clue. I was up to a couple of hours between failure and still do not why it failed. With pipelining disabled, that failure mode vanishes. > And to pardon dense me: What does VMA mean in this context? Exactly what you think, virtual memory area. It is a hint that with certain access patterns, you can see a significant performance improvement with this patch, can you spot why? ;-) (Though I don't think mesa would see any benefit.) -Chris -- Chris Wilson, Intel Open Source Technology Centre