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 1F3A3CCF9E5 for ; Mon, 27 Oct 2025 18:27:44 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D0CF410E553; Mon, 27 Oct 2025 18:27:43 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="epvCw05u"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id C1CEA10E550 for ; Mon, 27 Oct 2025 18:27:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1761589663; x=1793125663; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=srDe5xhhsIFQNQr9WxP7JPTJOPQY7ruqJvo7ZzvCY0I=; b=epvCw05uHJOv9EfpnmLmQLfxF/zcpowRKOEyiAHV9da7RKcTIGk5VYE2 pj+/xryw7+b3xetqPxJNusOtHVJ3KmvVOqPh1X0yRs42QQUGX9y9iOFXG IJAOXK2wumEK6265SbKBHfKkGaw6rrja8JhpFOmd3XF4r9kGz8R3dI5Nh n1H5zGSK0Po/KiWud+comuqg5Gwr6LYWUGvXdBn6ycJOtC9PMdG1SvpQa zFqjzafrBOdSMz80ojrXwtstJoZF2LdkwyWhFHOnf8nBza5UMAFSWjqD0 Th8YNFo31M7GCEGM7ye58k1USZ3FDONWHAJN7IrjU4m+MvlLeXGGYvH0V A==; X-CSE-ConnectionGUID: dMRtNReNRKyBBmorVy8g+Q== X-CSE-MsgGUID: Ai0Bqw2zTHmUndSVM6AQhg== X-IronPort-AV: E=McAfee;i="6800,10657,11586"; a="67544501" X-IronPort-AV: E=Sophos;i="6.19,259,1754982000"; d="scan'208";a="67544501" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2025 11:27:42 -0700 X-CSE-ConnectionGUID: rfYaI1DwRQmPU1DfeYuNRQ== X-CSE-MsgGUID: Gk4L8G8MR6q+8BP3D/3gew== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.19,259,1754982000"; d="scan'208";a="185884115" Received: from lstrano-desk.jf.intel.com ([10.54.39.91]) by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Oct 2025 11:27:42 -0700 From: Matthew Brost To: intel-xe@lists.freedesktop.org Cc: thomas.hellstrom@linux.intel.com Subject: [PATCH v4 0/5] Fix serialization on burst of unbinds - v2 Date: Mon, 27 Oct 2025 11:27:32 -0700 Message-Id: <20251027182737.2358096-1-matthew.brost@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit 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" Attempting to resolve part of [1]; this solution differs than v1 [2] by changing last fence semantics detailed in the patches. Overview of issue in [1]: When a burst of unbind jobs is issued, a dependency chain can form between the TLB invalidation of a previous unbind job and the current one. This leads to undesirable serialization, causing current jobs to wait unnecessarily for prior TLB invalidations, execute on the GPU when not needed, and significantly slow down the unbind burst—resulting in up to a 4× to 8× slowdown depending on platform. Matt [1] https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6047 [2] https://patchwork.freedesktop.org/series/156144/ Matthew Brost (5): drm/xe: Add last fence attachment to TLB invalidation job queues drm/xe: Decouple bind queue last fence from TLB invalidations drm/xe: Do not wait on TLB invalidations in page fault binds drm/xe: Don't allow in fences on zero batch exec or zero binds drm/xe: Remove last fence dependecy check from binds drivers/gpu/drm/xe/xe_exec_queue.c | 108 ++++++++++++++++++++--- drivers/gpu/drm/xe/xe_exec_queue.h | 20 ++++- drivers/gpu/drm/xe/xe_exec_queue_types.h | 5 ++ drivers/gpu/drm/xe/xe_migrate.c | 14 +++ drivers/gpu/drm/xe/xe_migrate.h | 8 ++ drivers/gpu/drm/xe/xe_pt.c | 80 ++++++----------- drivers/gpu/drm/xe/xe_sync.c | 74 +++++++++------- drivers/gpu/drm/xe/xe_tlb_inval_job.c | 31 +++++-- drivers/gpu/drm/xe/xe_tlb_inval_job.h | 5 +- drivers/gpu/drm/xe/xe_vm.c | 93 +++++++++++-------- drivers/gpu/drm/xe/xe_vm_types.h | 6 +- 11 files changed, 290 insertions(+), 154 deletions(-) -- 2.34.1