From mboxrd@z Thu Jan 1 00:00:00 1970 From: Damien Lespiau Subject: Re: [PATCH intel-gpu-tools] gem_ring_sync_copy: Add a ring to ring synchronization test Date: Tue, 4 Feb 2014 11:00:10 +0000 Message-ID: <20140204110010.GC29013@strange.amr.corp.intel.com> References: <1391012257-25503-1-git-send-email-damien.lespiau@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 49085FB4D3 for ; Tue, 4 Feb 2014 03:00:28 -0800 (PST) Content-Disposition: inline In-Reply-To: <1391012257-25503-1-git-send-email-damien.lespiau@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: daniel.vetter@intel.com, benjamin.widawsky@intel.com List-Id: intel-gfx@lists.freedesktop.org On Wed, Jan 29, 2014 at 04:17:37PM +0000, Damien Lespiau wrote: > +static void run_test(data_t *data, enum ring r1, enum ring r2, enum test test) > +{ > + struct ring_ops *r1_ops = &ops[r1]; > + struct ring_ops *r2_ops = &ops[r2]; > + drm_intel_bo *a, *b, *c; > + > + a = bo_create(data, WIDTH, HEIGHT, 0xa); > + b = bo_create(data, WIDTH, HEIGHT, 0xb); > + c = bo_create(data, WIDTH, HEIGHT, 0xc); > + > + r1_ops->busy(data); > + r2_ops->copy(data, a, b); ^^ r1 > + > + switch (test) { > + case TEST_WRITE_READ: > + r2_ops->copy(data, b, c); ^^ > + bo_check(data, c, 0xa); > + break; Turns out I was copying a to b on r2, and then b to c still on r2. So no inter-ring dependencies in that workload. Ooops. Pushed an updated patch that copy a to b on r1 and then b to c on r2 and verified that short-circuiting the semaphores breaks the test indeed. -- Damien