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 67D9D1048934 for ; Sat, 28 Feb 2026 01:35:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E17BE10EC53; Sat, 28 Feb 2026 01:35:32 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="Vq4+jN7M"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by gabe.freedesktop.org (Postfix) with ESMTPS id 500EA10E1E1 for ; Sat, 28 Feb 2026 01:35:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1772242515; x=1803778515; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=EXUsoU5W/ySlZ9PORs/TkW8RaCu8HV42rG3OIxie2LY=; b=Vq4+jN7MAVzrlpJnLW1h3x//FAk3KHSNbReIMNhAh0Q8XeYOOxSbWZFG LWTbv079vtD5y2PEcUOA05l4c2FnBX0Anocx4VTU9Gfwms5DUpQo6Id18 ipNulnD+JxUopK//R/q1rtsyi3fG3WEFuxovBV6REzrR1kXHqt312+hK/ XdNv/Z9oMpg2vTeksfSuG9SebI511grPqfPJTju68VylO4xF1tkfU1GCr paZfAikYp7qnRGxC5fRDOOB47Wl8ND026n43FlZGt13Dm0rwttha/ngyT vS/8CNPy189LFmSQDQI7qOHZnFm73CZ2lNhERFckaf7z5vfmjgAA16gka w==; X-CSE-ConnectionGUID: +bic89LaSimjkzxgpN7Udg== X-CSE-MsgGUID: SV2iTlMsTgyxNCIld/AZQQ== X-IronPort-AV: E=McAfee;i="6800,10657,11714"; a="83966363" X-IronPort-AV: E=Sophos;i="6.21,315,1763452800"; d="scan'208";a="83966363" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2026 17:35:09 -0800 X-CSE-ConnectionGUID: TJ6IknXiTWyo91DtIVmYWA== X-CSE-MsgGUID: 2kuZGC2aQ0+EBgXvimSNHQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,315,1763452800"; d="scan'208";a="213854908" Received: from lstrano-desk.jf.intel.com ([10.54.39.91]) by fmviesa009-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2026 17:35:09 -0800 From: Matthew Brost To: intel-xe@lists.freedesktop.org Cc: stuart.summers@intel.com, arvind.yadav@intel.com, himal.prasad.ghimiray@intel.com, thomas.hellstrom@linux.intel.com, francois.dugast@intel.com Subject: [PATCH v3 24/25] drm/xe: Enter ULLS for migration jobs upon page fault or SVM prefetch Date: Fri, 27 Feb 2026 17:35:00 -0800 Message-Id: <20260228013501.106680-25-matthew.brost@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260228013501.106680-1-matthew.brost@intel.com> References: <20260228013501.106680-1-matthew.brost@intel.com> MIME-Version: 1.0 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" Call xe_migration_ulls_enter upon page fault or SVM prefetch in an effort speed up these critical paths. Signed-off-by: Matthew Brost --- drivers/gpu/drm/xe/xe_pagefault.c | 3 +++ drivers/gpu/drm/xe/xe_vm.c | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/xe/xe_pagefault.c b/drivers/gpu/drm/xe/xe_pagefault.c index ea4857acf28d..a025d2cbb021 100644 --- a/drivers/gpu/drm/xe/xe_pagefault.c +++ b/drivers/gpu/drm/xe/xe_pagefault.c @@ -14,6 +14,7 @@ #include "xe_gt_types.h" #include "xe_gt_stats.h" #include "xe_hw_engine.h" +#include "xe_migrate.h" #include "xe_pagefault.h" #include "xe_pagefault_types.h" #include "xe_svm.h" @@ -171,6 +172,8 @@ static int xe_pagefault_service(struct xe_pagefault *pf) if (IS_ERR(vm)) return PTR_ERR(vm); + xe_migrate_ulls_enter(gt_to_tile(gt)->migrate); + /* * TODO: Change to read lock? Using write lock for simplicity. */ diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c index 931d46696811..9103ce82aacf 100644 --- a/drivers/gpu/drm/xe/xe_vm.c +++ b/drivers/gpu/drm/xe/xe_vm.c @@ -2366,8 +2366,10 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_vma_ops *vops, ctx.devmem_possible = IS_DGFX(vm->xe) && IS_ENABLED(CONFIG_DRM_XE_PAGEMAP); - for_each_tile(tile, vm->xe, id) + for_each_tile(tile, vm->xe, id) { + xe_migrate_ulls_enter(tile->migrate); tile_mask |= 0x1 << id; + } xa_init_flags(&op->prefetch_range.range, XA_FLAGS_ALLOC); op->prefetch_range.ranges_count = 0; -- 2.34.1