From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 08/43] drm/i915/bdw: Add a context and an engine pointers to the ringbuffer Date: Thu, 14 Aug 2014 17:32:28 +0200 Message-ID: <20140814153228.GW10500@phenom.ffwll.local> References: <1406217891-8912-1-git-send-email-thomas.daniel@intel.com> <1406217891-8912-9-git-send-email-thomas.daniel@intel.com> <20140811141413.GE10500@phenom.ffwll.local> <20140811142032.GF10500@phenom.ffwll.local> <20140813151616.GD10500@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-wi0-f170.google.com (mail-wi0-f170.google.com [209.85.212.170]) by gabe.freedesktop.org (Postfix) with ESMTP id 927B76E34E for ; Thu, 14 Aug 2014 08:32:17 -0700 (PDT) Received: by mail-wi0-f170.google.com with SMTP id f8so9968540wiw.5 for ; Thu, 14 Aug 2014 08:32:16 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Daniel, Thomas" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org On Thu, Aug 14, 2014 at 03:09:45PM +0000, Daniel, Thomas wrote: > When it comes to the execlist submission (actually as early as the execlist > request queueing), the engine and context are indeed used and required. > intel_logical_ring_advance_and_submit() is the lrc function analogous to > __intel_ring_advance() and I believe the initial creation of intel_lrc.c > was actually done by copying intel_ringbuffer.c. This explains why some of > the lrc code is perhaps not as it would have been if this had been designed > from scratch, and there is room for future improvement. > advance_and_submit therefore only gets the ringbuffer struct and uses > the context pointer in that struct to get the logical ring context itself. At > that point the engine, context and new tail pointer are handed over to the > execlist queue backend. I guess I need to clarify: Does it make sense to move the ELSP respectively the submission to the execlist scheduler queue out of there up a few levels into the execlist cmd submission function? Is it possible or is there some technical reason that I'm overlooking? I want to know what exactly I'm dealing with here before I sign up for it by merging the patches as-is and asking for a cleanup. I doesn't look bad really, but there's always a good chance that I've overlooked a bigger dragon. Since you have the patches and worked with them I'm asking you such explorative questions. Ofc I can do this checking myself, but that takes time ... This doesn't mean that you have to implement the changes, just be reasonable confident that it will work out as a cleanup on top. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch