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 97AEBC25B78 for ; Tue, 28 May 2024 09:55:22 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6550D10E73E; Tue, 28 May 2024 09:55:17 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="CT+BGE0k"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) by gabe.freedesktop.org (Postfix) with ESMTPS id 32E4210E58D for ; Tue, 28 May 2024 09:55:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716890114; x=1748426114; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=+jlGtbAkhuU2rFYMx21WLEyyz6frdHVw8CJGEws0YsY=; b=CT+BGE0kZFdtZeCN8fSA6QdpMAFtSmJwyeM7F7DGNoWm+8W9BsripLBE IDTYdlVzttvLCtyC7MRpe1CzBanq1gZvfcYbLNMS9hyr2qmAzG4HzfspM EDXCrL/LpxG5i3/00Sn5crZ7+AfcJmcVtLM4WfYQEQo9jC8xCXB2V3G+O WzcPANAotcvdg5FvcP4+DM1ECC6SghnfTEZnbbkemfjyfoCE5CZc5gfga YdDLwzj/i34baqBYxbI6rcMfb3AkL+dB8Lk/VeIa7J0O/yd4e/TELPlNW EEo4MunFwO6J1gBvEPsNqpp/OaQJVQ0j/2AWCGlIowFSSFL23mrcyPhqV w==; X-CSE-ConnectionGUID: HNE5hxe1TBKkS0j6Neqi8A== X-CSE-MsgGUID: AM7TJDt9RviHFJy6rkAelg== X-IronPort-AV: E=McAfee;i="6600,9927,11085"; a="13345527" X-IronPort-AV: E=Sophos;i="6.08,194,1712646000"; d="scan'208";a="13345527" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2024 02:55:13 -0700 X-CSE-ConnectionGUID: g7weyaEcQBy7N71AryiYxQ== X-CSE-MsgGUID: +Goo98V2TT+4QDur/Rf7xw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,194,1712646000"; d="scan'208";a="34932060" Received: from maurocar-mobl2.ger.corp.intel.com (HELO fedora..) ([10.245.244.233]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2024 02:55:12 -0700 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= To: intel-xe@lists.freedesktop.org Subject: [CI v5 00/20] xe bo shrinker and exhaustive eviction Date: Tue, 28 May 2024 11:54:42 +0200 Message-ID: <20240528095503.90177-1-thomas.hellstrom@linux.intel.com> X-Mailer: git-send-email 2.44.0 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" CI testing of shrinker- and eviction patches v2: - Checkpatch error removal v3: - Fix incorrect patch order - Fix compilation errors in other drivers v4: - Fix an uninitialized drm_exec member v5: - Test an alternative approach for trylocking Thomas Hellström (20): drm/ttm: Allow TTM LRU list nodes of different types drm/ttm: Slightly clean up LRU list iteration drm/ttm: Use LRU hitches drm/ttm, drm/amdgpu, drm/xe: Consider hitch moves within bulk sublist moves drm/ttm: Provide a generic LRU walker helper drm/ttm: Use the LRU walker helper for swapping drm/ttm: Use the LRU walker for eviction drm/ttm: Add a virtual base class for graphics memory backup drm/ttm/pool: Provide a helper to shrink pages drm/ttm: Use fault-injection to test error paths drm/ttm, drm/xe: Add a shrinker for xe bos dma-buf/dma-resv: Introduce dma_resv_trylock_ctx() drm/exec: Add a snapshot capability drm/exec: Introduce an evict mode drm/ttm: Support drm_exec locking for eviction and swapping drm/ttm: Convert ttm vm to using drm_exec drm/xe: Use drm_exec for fault locking drm/exec: Introduce drm_exec_sanitize_for_trylock drm/ttm: Use drm_exec_trylock for bo initialization drm/xe: Initial support for drm exec locking during validate drivers/gpu/drm/Kconfig | 10 + drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 + drivers/gpu/drm/drm_exec.c | 210 ++++++++- drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 4 +- drivers/gpu/drm/nouveau/nouveau_gem.c | 4 +- drivers/gpu/drm/radeon/radeon_gem.c | 4 +- drivers/gpu/drm/ttm/Makefile | 2 +- drivers/gpu/drm/ttm/ttm_backup_shmem.c | 137 ++++++ drivers/gpu/drm/ttm/ttm_bo.c | 517 +++++++++++---------- drivers/gpu/drm/ttm/ttm_bo_util.c | 241 ++++++++++ drivers/gpu/drm/ttm/ttm_bo_vm.c | 101 ++-- drivers/gpu/drm/ttm/ttm_device.c | 29 +- drivers/gpu/drm/ttm/ttm_pool.c | 412 +++++++++++++++- drivers/gpu/drm/ttm/ttm_resource.c | 264 ++++++++--- drivers/gpu/drm/ttm/ttm_tt.c | 37 ++ drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c | 6 +- drivers/gpu/drm/xe/Makefile | 1 + drivers/gpu/drm/xe/display/xe_fb_pin.c | 2 +- drivers/gpu/drm/xe/tests/xe_bo.c | 124 ++++- drivers/gpu/drm/xe/tests/xe_bo_test.c | 1 + drivers/gpu/drm/xe/tests/xe_bo_test.h | 1 + drivers/gpu/drm/xe/tests/xe_dma_buf.c | 4 +- drivers/gpu/drm/xe/tests/xe_migrate.c | 2 +- drivers/gpu/drm/xe/xe_bo.c | 173 +++++-- drivers/gpu/drm/xe/xe_bo.h | 8 +- drivers/gpu/drm/xe/xe_device.c | 8 + drivers/gpu/drm/xe/xe_device_types.h | 2 + drivers/gpu/drm/xe/xe_dma_buf.c | 2 +- drivers/gpu/drm/xe/xe_ggtt.c | 2 +- drivers/gpu/drm/xe/xe_gt_pagefault.c | 2 +- drivers/gpu/drm/xe/xe_shrinker.c | 224 +++++++++ drivers/gpu/drm/xe/xe_shrinker.h | 18 + drivers/gpu/drm/xe/xe_vm.c | 8 +- include/drm/drm_exec.h | 39 +- include/drm/ttm/ttm_backup.h | 136 ++++++ include/drm/ttm/ttm_bo.h | 59 ++- include/drm/ttm/ttm_pool.h | 5 + include/drm/ttm/ttm_resource.h | 99 +++- include/drm/ttm/ttm_tt.h | 20 + include/linux/dma-resv.h | 23 +- 41 files changed, 2480 insertions(+), 469 deletions(-) create mode 100644 drivers/gpu/drm/ttm/ttm_backup_shmem.c create mode 100644 drivers/gpu/drm/xe/xe_shrinker.c create mode 100644 drivers/gpu/drm/xe/xe_shrinker.h create mode 100644 include/drm/ttm/ttm_backup.h -- 2.44.0