From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4F4AA7365E for ; Tue, 2 Nov 2021 19:42:18 +0000 (UTC) Date: Tue, 02 Nov 2021 12:40:14 -0700 Message-ID: <87zgqml529.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" In-Reply-To: <20211102083941.9644-2-zbigniew.kempczynski@intel.com> References: <20211102083941.9644-1-zbigniew.kempczynski@intel.com> <20211102083941.9644-2-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: quoted-printable Subject: Re: [igt-dev] [PATCH i-g-t 1/1] tests/gem_sync: Use softpin path for no-reloc gens List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Zbigniew =?ISO-8859-2?Q?Kempczy=F1ski?= Cc: igt-dev@lists.freedesktop.org List-ID: On Tue, 02 Nov 2021 01:39:41 -0700, Zbigniew Kempczy=F1ski wrote: > > Migrate to softpin with pre-warming batch or an allocator. Some tests > which don't fork can use pre-warming batch which establishes offsets in > the kernel before real work is performed. For such adding pinned flag > + zeroing relocation is enough. For multiprocess scenarios we need to > arbitrate and an allocator need to be used instead. > > v2: fix also tests which are not running on CI (Ashutosh) > > v3: use appropriate allocator handle (ahnd) within active_wakeup_ring > spinners (Ashutosh) Reviewed-by: Ashutosh Dixit One question below though. > Signed-off-by: Zbigniew Kempczy=F1ski > Cc: Ashutosh Dixit > --- > tests/i915/gem_sync.c | 59 ++++++++++++++++++++++++++++++++++++++++--- > 1 file changed, 55 insertions(+), 4 deletions(-) > > diff --git a/tests/i915/gem_sync.c b/tests/i915/gem_sync.c > index 0093ca25f..8c435845e 100644 > --- a/tests/i915/gem_sync.c > +++ b/tests/i915/gem_sync.c > @@ -237,6 +237,7 @@ wakeup_ring(int fd, const intel_ctx_t *ctx, unsigned = ring, > int timeout, int wlen) > { > struct intel_engine_data ied; > + uint64_t ahnd =3D get_reloc_ahnd(fd, ctx->id); Is this really needed in the parent even when they are only used in the child processes? This pattern is used everywhere in this patch. Is this a requirement of the allocator API? Thanks.