From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 85835C25B78 for ; Tue, 28 May 2024 05:38:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1365410E2E1; Tue, 28 May 2024 05:38:48 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="DxPa9TjY"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by gabe.freedesktop.org (Postfix) with ESMTPS id F01BA10E2E1 for ; Tue, 28 May 2024 05:38:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716874726; x=1748410726; h=date:message-id:from:to:cc:subject:in-reply-to: references:mime-version; bh=hjThfb8czYvFUgBU5G4dDofgpdOgHtz9OujX1Vmrj3k=; b=DxPa9TjYjltpWrOAd6OGQcfy4kS3j1F6hlsesh+UXamvo4IqO4N6MHDb QHIQfQyIn258GFUPOUlYd7Fw6FYb5Zidizg3m9wMxyUpbUoP6VzFTDNuP i/NDpkZyGItRgtSX9Q+KV5R2OVsSq4gTz6fP9l6qeI0jUbas54NqWfCqg NlK2Opr93wDl1L2nHcyUSZ1eAHFVazwrtPZZpFP5fZf0g92MfVPqaXY7J 1WEvxxDSoR4ie5rylmPKAKNozcpU9lQ6XN+j6qhl6c+WYPN/43xBowwHy sTs9c4Tr1T1UQGKHuCZEOvQqaSjUuRtHQ9S1wswEn0ICEanMPInuee6ba g==; X-CSE-ConnectionGUID: YjOXTwanQTy5KORWC/WUCA== X-CSE-MsgGUID: 1XCVhHbCRBWh5qJsH2SjXw== X-IronPort-AV: E=McAfee;i="6600,9927,11085"; a="23861921" X-IronPort-AV: E=Sophos;i="6.08,194,1712646000"; d="scan'208";a="23861921" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 May 2024 22:38:46 -0700 X-CSE-ConnectionGUID: H6cv3/zHSRCu3Uz7YCy7BA== X-CSE-MsgGUID: zbCrlAC0QhuhJX0oSV7QOg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,194,1712646000"; d="scan'208";a="35034191" Received: from talam-mobl.amr.corp.intel.com (HELO adixit-arch.intel.com) ([10.92.232.189]) by fmviesa009-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 May 2024 22:38:45 -0700 Date: Mon, 27 May 2024 22:27:07 -0700 Message-ID: <8734q2pkus.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" To: Lionel Landwerlin Cc: intel-xe@lists.freedesktop.org Subject: Re: [PATCH 07/17] drm/xe/oa: OA stream initialization (OAG) In-Reply-To: <0cd6f261-2345-4cc5-b95c-b2c28dc79fa5@intel.com> References: <20240527014333.603914-1-ashutosh.dixit@intel.com> <20240527014333.603914-8-ashutosh.dixit@intel.com> <0cd6f261-2345-4cc5-b95c-b2c28dc79fa5@intel.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/29.3 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" On Mon, 27 May 2024 00:04:21 -0700, Lionel Landwerlin wrote: > Hi Lionel, > > +static int xe_oa_stream_init(struct xe_oa_stream *stream, > > + struct xe_oa_open_param *param) > > +{ /snip/ > > + stream->k_exec_q = xe_exec_queue_create(stream->oa->xe, NULL, > > + BIT(stream->hwe->logical_instance), 1, > > + stream->hwe, EXEC_QUEUE_FLAG_KERNEL, 0); > > > Hi Ashutosh, > > On i915 the changes of configuration were pipelined in the application's > execution just like any other submission. > > Creating another queue completely unsynchronized from the application's > submissions makes this non usable in my opinion. As we discussed previously, the plan here is to provide a drm_xe_sync array, through stream properties, which can use to synchronize OA programming with workload submisson. Would that not work? If not, we can do what was done in i915. But note that i915 still has unresolved hangs, which I believe are due to the spinner running on the application engine (iirc repeatedly opening/closing an OA stream will hang in i915, though it could be due to other i915 complexity). That is why thought using drm_xe_sync array is both safer and more standard way of doing what we want to achieve. Basically the output sync object will be signalled after registers are programmed and also any additional OA programming delay (which is implemented in i915 using the spinner). This would be done both for OA stream open and changing OA stream configuration. Thanks. -- Ashutosh