From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/2] tests/gem_exec_parse: fix batch_len setting for cmd-crossing-page Date: Tue, 21 Oct 2014 17:26:05 +0200 Message-ID: <20141021152605.GS26941@phenom.ffwll.local> References: <1413409962-23097-1-git-send-email-bradley.d.volkin@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-wg0-f41.google.com (mail-wg0-f41.google.com [74.125.82.41]) by gabe.freedesktop.org (Postfix) with ESMTP id 0FB046E209 for ; Tue, 21 Oct 2014 08:26:00 -0700 (PDT) Received: by mail-wg0-f41.google.com with SMTP id b13so1668344wgh.24 for ; Tue, 21 Oct 2014 08:25:58 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1413409962-23097-1-git-send-email-bradley.d.volkin@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: bradley.d.volkin@intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Wed, Oct 15, 2014 at 02:52:41PM -0700, bradley.d.volkin@intel.com wrote: > From: Brad Volkin > > The size of the batch buffer passed to the kernel is significantly > larger than the size of the batch buffer passed to the function. A > proposed optimization as part of the batch copy kernel series is to > use batch_len for the copy and parse operations, which leads to a > false "batch without MI_BATCH_BUFFER_END" failure for this test. > > Signed-off-by: Brad Volkin > --- > tests/gem_exec_parse.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/tests/gem_exec_parse.c b/tests/gem_exec_parse.c > index 05f271c..568bd4a 100644 > --- a/tests/gem_exec_parse.c > +++ b/tests/gem_exec_parse.c > @@ -144,9 +144,10 @@ static void exec_split_batch(int fd, uint32_t *cmds, > struct drm_i915_gem_exec_object2 objs[1]; > uint32_t cmd_bo; > uint32_t noop[1024] = { 0 }; > + const int alloc_size = 4096 * 2; > > // Allocate and fill a 2-page batch with noops > - cmd_bo = gem_create(fd, 4096 * 2); > + cmd_bo = gem_create(fd, alloc_size); > gem_write(fd, cmd_bo, 0, noop, sizeof(noop)); > gem_write(fd, cmd_bo, 4096, noop, sizeof(noop)); > > @@ -167,7 +168,7 @@ static void exec_split_batch(int fd, uint32_t *cmds, > execbuf.buffers_ptr = (uintptr_t)objs; > execbuf.buffer_count = 1; > execbuf.batch_start_offset = 0; Shouldn't we simply adjust batch_start_offset to be 4096-4, i.e. where we've placed the batch? Would have the benifit of also testing offset batches ;-) -Daniel > - execbuf.batch_len = size; > + execbuf.batch_len = alloc_size; > execbuf.cliprects_ptr = 0; > execbuf.num_cliprects = 0; > execbuf.DR1 = 0; > -- > 1.9.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch