From patchwork Tue Sep 3 09:47:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Hellstr=C3=B6m?= X-Patchwork-Id: 13788431 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 E890BCD3427 for ; Tue, 3 Sep 2024 09:48:15 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 63D2D10E455; Tue, 3 Sep 2024 09:48:14 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="fp8njCWp"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8690410E455; Tue, 3 Sep 2024 09:48:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1725356893; x=1756892893; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=9NgE/2aJzHj8TTErCkyZA74A1+E/tAFpatpunlwuDT4=; b=fp8njCWpX6U3z7fDdXVACkqGqA97KPs/pSdV6Mhn4gSQJNt9qS/YWXjD YNwPFszhahmalrP+byHqVKEd1tRmeXZD0oZx8EY/dT3kc2AjEXnPAFJpc D8XQ8v8ovrxJcrw3EmjuIZDpQ+icU0FCH1xw0EAGlUD/rWvA6XQme2RHu ifFztx5KHCDxc5kQssuKTKuh1pylf/rAtFzvfpRaEnBd2C6CQF6LBA2Fe 0TLsLH+92l0AYLdNH8gu3NY9OzGFQJ5MU7hktxLp6NDmPzlz6k6PUouh4 pp+r7VC7hWiz1bq3CcHTD1ZQbI/I2iVWnFQ/+b7BO/M9Cj8rGEqQ7YqIL A==; X-CSE-ConnectionGUID: vgcsyhiES6ulYIesjmjR+Q== X-CSE-MsgGUID: mQtOm4JXTa2IIstu/Obzzw== X-IronPort-AV: E=McAfee;i="6700,10204,11183"; a="24096937" X-IronPort-AV: E=Sophos;i="6.10,198,1719903600"; d="scan'208";a="24096937" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Sep 2024 02:48:12 -0700 X-CSE-ConnectionGUID: jfFAczFUS42uwlokixBh5w== X-CSE-MsgGUID: Ee4+zFppR1eawMdNSU/2jg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,198,1719903600"; d="scan'208";a="88097303" Received: from dhhellew-desk2.ger.corp.intel.com.ger.corp.intel.com (HELO fedora..) ([10.245.244.199]) by fmviesa002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Sep 2024 02:48:11 -0700 From: =?utf-8?q?Thomas_Hellstr=C3=B6m?= To: intel-xe@lists.freedesktop.org Cc: =?utf-8?q?Thomas_Hellstr=C3=B6m?= , =?utf-8?q?Christian_K=C3=B6nig?= , Matthew Brost , dri-devel@lists.freedesktop.org Subject: [PATCH v2 0/2] drm/ttm: Really use a separate LRU list for swapped- and pinned objects Date: Tue, 3 Sep 2024 11:47:51 +0200 Message-ID: <20240903094753.169449-1-thomas.hellstrom@linux.intel.com> X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Resources of swapped objects were never moved off their LRU list when swapped, and also resources of pinned objects might remain on their LRU list unless the driver moved them to the device pinned list after pinning. Rename the device "pinned" list to "unevictable" and ensure that resources of objects that are pinned or swapped are moved to that list. RFC: Should we instead of a device-wide unevictable list, introduce an unevictable priority so that all objects remain with their resource's respective manager? Patch 1/2 deals with swapped objects and also handles the problem of moving objects back to their manager's LRU list when populating. Patch 2/2 deals with pinned objects. v2: - Address review comments by Christian König. - Make TTM KUNIT tests build. Cc: Christian König Cc: Matthew Brost Cc: Thomas Hellström (2): drm/ttm: Move swapped objects off the manager's LRU list drm/ttm: Move pinned objects off LRU lists when pinning drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c | 4 +- drivers/gpu/drm/ttm/tests/ttm_bo_test.c | 4 +- drivers/gpu/drm/ttm/tests/ttm_resource_test.c | 6 +- drivers/gpu/drm/ttm/ttm_bo.c | 69 +++++++++++++++++-- drivers/gpu/drm/ttm/ttm_bo_util.c | 6 +- drivers/gpu/drm/ttm/ttm_bo_vm.c | 2 +- drivers/gpu/drm/ttm/ttm_device.c | 4 +- drivers/gpu/drm/ttm/ttm_resource.c | 15 ++-- drivers/gpu/drm/ttm/ttm_tt.c | 2 + drivers/gpu/drm/xe/xe_bo.c | 4 +- include/drm/ttm/ttm_bo.h | 2 + include/drm/ttm/ttm_device.h | 5 +- include/drm/ttm/ttm_tt.h | 5 ++ 15 files changed, 102 insertions(+), 30 deletions(-)