From patchwork Fri Apr 11 10:48:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikolaj Wasiak X-Patchwork-Id: 14048075 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 914F1C36010 for ; Fri, 11 Apr 2025 10:48:47 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1C78F10EB6A; Fri, 11 Apr 2025 10:48:40 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="Qwe27Ch1"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) by gabe.freedesktop.org (Postfix) with ESMTPS id E4DFF10EB68 for ; Fri, 11 Apr 2025 10:48:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1744368513; x=1775904513; h=date:from:to:cc:subject:message-id:mime-version; bh=5X7Cy6OEThaM8CB4uw3rqqLE6jaZdVVBfiVYAnpZyL8=; b=Qwe27Ch1IE/unuDL5W4NZikdKgtn7gq0oojkR/mo5S7h5bsVcgcZkKP5 8D3ejoS3ingcTCXhE5/30a9IASevgCFXWoSEN07mRtKwnVNLBvzwmbuZF cBz0jlJ1x+wT0IH/fcoqwXaH3YHhlHm1cYe52icG7vFpc5x8FEO7LYt9f A1gOaiq6K+LgvuHkIifkWnJcQj8te1bcd7uakmjypL+oHuFUx8/e44JDA moxfaIvQAk9lbmfJJ0sW9lcmZ0yodac+uW76RDBpLjjYnrxNgfz96A8wq ElzR+ZfxsMaM+gkyx2WPt4t1gNuVIKrSsQQDQ+l5Ae1fa/elttEpu5UZB w==; X-CSE-ConnectionGUID: XOSfNV7fSQuPfDh4Blc2xg== X-CSE-MsgGUID: XtpERgeURgmcJLfB7n+ZoA== X-IronPort-AV: E=McAfee;i="6700,10204,11400"; a="46057414" X-IronPort-AV: E=Sophos;i="6.15,205,1739865600"; d="scan'208";a="46057414" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Apr 2025 03:48:32 -0700 X-CSE-ConnectionGUID: K4HMPJ2nSa+cjYXKekOShw== X-CSE-MsgGUID: vIxBfq9gRZe+0e4o9a5IyA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,205,1739865600"; d="scan'208";a="129167524" Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by fmviesa007.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Apr 2025 03:48:32 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Fri, 11 Apr 2025 03:48:31 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14 via Frontend Transport; Fri, 11 Apr 2025 03:48:31 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.176) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Fri, 11 Apr 2025 03:48:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ruHEwzIbysYiiVjPEFlmYa7rIOLxq7sNIcfWiIq7fTN2JEmEKpqxLvtyOjfda1LLpT/7JcW2iQG1e/yQKxUeuTwoQAWXDaJK4MfYY3MTxHcDCS+g8xioptjhVloUbCGuhJQUz9R6ahPaY2lNKtxN0NlgFidkAxmIanFp2cz6bThoOexCP3Ta3hx430+ScnvMt5c1IkIu92/Y0DilCOep4zWcwsYtq024/roDK9E7akz+bz1rczSIFxYa5VqoivQ6Dtq+zIaMGMcqG21H2sYLzcnaUkyqGs7fZXvHdiwhjNera8lXLEcDLExdYV/z3b1AFyBBIgcFItKi6wnmmHJU8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fqJqZjGwckFNOBmmKCiTH5y+X/r3x+0jQyz5mNpAx3I=; b=CbvX4RQXXecs/vAfDAn16vs+4U0uKheJUDqA9nXv7voPksKveZDjcT+DXj6CyswfN2DcgfQGKFsk41dxk9b2Bdspvpj0lTwECTjZfS1oClTA2YROpzdMkmVJIR3m9w1t6t/GL8Z5SzKWFVP1g3/qtme1xqJP6XNuHFRmcU0htg3HFVWg1gbZ3dJMS8Ikwrla+yt8XTa6Yzqvyg6W7iYyytxslYiELNmG7tGwpnPwvkZXcP1Ywr0KUnjFhzhOm1F9xcbUb8fMajpgIi6aeU2GP3I5lIJ7soHdb/C878nwEAOMs6HzqFXGqi6HCitEGy8xBjfpDwE5Vl/o38wsGnIdpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from BL3PR11MB6409.namprd11.prod.outlook.com (2603:10b6:208:3b8::18) by CY8PR11MB6868.namprd11.prod.outlook.com (2603:10b6:930:5c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Fri, 11 Apr 2025 10:48:28 +0000 Received: from BL3PR11MB6409.namprd11.prod.outlook.com ([fe80::74e:6abd:bab0:3d0b]) by BL3PR11MB6409.namprd11.prod.outlook.com ([fe80::74e:6abd:bab0:3d0b%3]) with mapi id 15.20.8632.025; Fri, 11 Apr 2025 10:48:28 +0000 Date: Fri, 11 Apr 2025 12:48:16 +0200 From: Mikolaj Wasiak To: CC: Andi Shyti , Krzysztof Karas , Krzysztof Niemiec , Chris Wilson Subject: [PATCH] drm/i915/selftest/mmap_migrate: wait for clear memory Message-ID: Content-Disposition: inline X-ClientProxiedBy: VI1PR06CA0107.eurprd06.prod.outlook.com (2603:10a6:803:8c::36) To BL3PR11MB6409.namprd11.prod.outlook.com (2603:10b6:208:3b8::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL3PR11MB6409:EE_|CY8PR11MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: d69c3231-bb25-45aa-2cdd-08dd78e664a0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?LzfLqDrmQuzjrWbvzQPiJGWIGDgm8iB?= =?utf-8?q?EEm448HMLDIU+yNMd8TRX7g0SMWKbZt+Jyuy2/6iC9t9USPnud/s7gap0tdLQmGTh?= =?utf-8?q?BBa7DNMqe1FfrzA1HGioRynLKFLwTUUQ5iaRDdRp5coV5ajLQPNvNb3isV2U4ok4T?= =?utf-8?q?exIJOzNaq4N0DxFmtlo6KJ1iE+YqT0eVkw28bQ84yWixhcHVWAaCIjdLEJYaqCtXz?= =?utf-8?q?XEQdO+Qfep9kuHh3TNBztlozzY7f4rEOHcDzEMBEDhOWCSh3BEXbNVczy23FUitNn?= =?utf-8?q?93H0Rd6lFVeOk5BQCj3PtCbRSzWkmMuQo/CLWS1uLziP8Bm0KBmQh1jkywUOgrNrW?= =?utf-8?q?KVJyjJVuNJaKzDo5dCorwP+Zdlt2r+08dqdh80OR2MTXagOr4YF6pcT6WR35PwH+H?= =?utf-8?q?qGuqnR/F19+FGNuGdhUOtKG42ZD2ygDxzekq53X6XPDQ2BNf6brz//cyMouVd7DRn?= =?utf-8?q?p7PqNRPDDaq58DKeIzmucpIfSGpFln8tDcXjA6pFJs88n1TmPx/Je7BR0kKzbrAkT?= =?utf-8?q?qVblmlaqhcKlXrLEJGa82GmC9AtCvHcX1K9WeRVji3HR0c57i9xSTrnFC6zG3fvG8?= =?utf-8?q?wNEqfzmHe/XcmDYJPTnJAgHX6ZLuGSe1nayVACDCWOpWmiGqUTSvSCsHqla9+1uQk?= =?utf-8?q?Q9Ag0EQAoBs3dvQn17r9XRufdNDd2mQ0WqUUOO4ps4zLtOoDrJ1gNfdXrMwVNVVQh?= =?utf-8?q?hXTVKUk3dC/g+yzPee5SPDOehV4LZwxCgvEUHwBxoF1NW1SBWx4ArEW5RBWdvtL7o?= =?utf-8?q?fAu0nRmT/xm967TbNC/eFnPLdVvu4XgEEhBBnhNEzgVdZ2FoMBB2jgjpuCSpGDifP?= =?utf-8?q?SQJoTgCacvBaM1n7mZvkkx6SZmMG8qzXbxikuX+JPfpdGEY4NgKjEQ6wygkfDWxXF?= =?utf-8?q?tJrdSyCNv+QbP/n49mEhbxC8iyiS/EYFyGTNfDwRvUCNYYo24S/NKHAegXOU5Zwy5?= =?utf-8?q?0Uf6ff4dw/msv47iYKuXfSQjsbWkbCWcV9PJNRROyzA5hDU/mYn2mUmJms/ve+jQ7?= =?utf-8?q?/1C/hYogT+x6vzumSprR/qPnBQYJ1wnFYZoxzxVwIIAaedwreIxSKQLlh4UuTf7UP?= =?utf-8?q?1Orbfylds1+Uy1PxqERx6zQLiNufrQYdokajKOjkQiXpqmhT7b85tFVmgLkZ9hWew?= =?utf-8?q?Li9Ipcv3rDsojQFM7LXhWBsDScKIvXy6UNn6NF3zChCrO4qYZWdyhQFKlfcZjcGKI?= =?utf-8?q?lh9ExOlGIIIlj7CSaNBiEVy1pWn2O4w8Xnt9CUToo8Fn79fei3ZjBpW+065bUoozp?= =?utf-8?q?T7NRomoTr81XRTD9P9NDjEInee0qj44ByTLr1dRo6UDPoicsr4qHBO0k=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL3PR11MB6409.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?3QkePZE/S87jbvdkCyjpwCgUBuSI?= =?utf-8?q?pT7JKW1f0uT47VXhg0toVdMkuLGock6fAuDZetvk6LCsvGfJhIratpoNwfBdbrQcG?= =?utf-8?q?p50N9uS0aWIsM2zKsWrGMOwXnVO5mc9aXFhWu0b1lPG8oWs7z2Qn/HVPh/gizDK4F?= =?utf-8?q?vxMKmwhDLGMtXQx5aoVdh4g9YBKo3u60Vd8H3w49uEa1YBhSvVGn9uuD4AWmy/WJp?= =?utf-8?q?9CGsYm9zV111+jgG17UmB9rerl15sKx2w6noQW5/dX3yZj8wY0jGO/v9VH01BMMou?= =?utf-8?q?RiHb/E5n8F3AzTnX4NB9S0wAOrZ+N84T+QP/PofnzZwsXHadxTcVmQzTW6dty5lw2?= =?utf-8?q?1+4dJp5dfq7SqhM8PH6kGFA1ex4fn1yGcmSWotMXH6fE09VmaRnbHO1WrSbM3bcmw?= =?utf-8?q?G//1IbTx4kdAowbEZcaiv4LiQ2Q22JVi4gDwI9OxeJJZjW0EhwQxCj/eWQGUR7mbR?= =?utf-8?q?WPRDffxzqEx+vLJ8bpZ+u7TlkcT4sg135kQwWpjSkpBRKHU7UCxjIpbXuG31XBa8v?= =?utf-8?q?3jLF3W1dc7g/2HXjdlMduOu1+FEv8MZpmcDe/2Ox5auLEs3ZSEXVF7NJnd8KUJXkv?= =?utf-8?q?WklMr18W07B1EcGWByDsaon4rf63ZRL7bbSVIZYiMRSmGMIc/HPYXXzqYZrw+faof?= =?utf-8?q?BJmb/aCqJKcxQ+vWNT49SXkHfbTC+8F2xUB5M0PUB5O2V+Ui0TD3DmCez15E3UYxM?= =?utf-8?q?5QcPMk3lY+KVzE6kVE0TTxof7m2qBccRUT8oxOQh/8ULXfAETn4KkZoH87lRm4AJy?= =?utf-8?q?XTXhFzo0E9wjCbBIfZsXanaIDKYAOEWF8GmZToDyLwDSenXlyMtZpGIZJF4ZrsQft?= =?utf-8?q?YUaJJWP01XNYjM8Cz4Tlv2ZFsb+d5EMQHXXXhmUx5N/1SbrAUqm/CvMWku+JW4KjV?= =?utf-8?q?shDS+cY5WcTDocmezBLQGjdx7aNVXmXarVaZxZrH+HacRwa/3W9d5xDymCze5jzrE?= =?utf-8?q?VhwQB/II3/Hz7VL7sokFbHTqXSyAxgFfV1kEsnALYC6IYA2rbMbD4AFIHjhKeb1tf?= =?utf-8?q?sLotjRpA7WO8uMfjTXSoC0qqOErj9zLV/lQz/pDjeeIQTbkrF/f//F0njNDqjN3j7?= =?utf-8?q?TxC8bYTLCjp+C9sI6CmXQJLewu/9XXiLhtDtS4BR5RcSW4nHAjrO04gxKhKKozjNv?= =?utf-8?q?IvndYMyORt1Ykcw3jhxThwjBFl+TJwlXgjIUpo/REt7auZsyG5irkYXcbbTUqyYW5?= =?utf-8?q?9YcDTllYBqpILyfe2XryVKP90XXE6zJNGctwD22IfArvC+HbhpRXaBTgNUnv0uINo?= =?utf-8?q?qfldZjjeMeB5k4Dx+AJRr9e/xfZ07GKBj6eTPYyhGjEzRJG++KzL5+w3afUW7tlXj?= =?utf-8?q?iDIGaSinXG2oA9XlUTl5d3JcO5I0p08Brq47M2wAxgo5HTiaZZVFaswo4J67urTWs?= =?utf-8?q?b3giHVmjaKLtkcd087GKkZpVUii1CE5OdTeh9P3W67AHhqQe1qnuPLNc9oWWcdx6s?= =?utf-8?q?ZBAyhb1xWZspmRx4Io3dgjvdfhvvKa7pQVopoA0iRGvwy5NNa2Osm3pzaaJSs+KVf?= =?utf-8?q?rvxWyLlOVfSCRs3Qq+m5Zf1kiMRV0vBqZg=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: d69c3231-bb25-45aa-2cdd-08dd78e664a0 X-MS-Exchange-CrossTenant-AuthSource: BL3PR11MB6409.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2025 10:48:28.7382 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RWLFPARhh+SsrJcEUliEOCqLOlXJL7CQuZVAWy560qo7e0e+ft7KOGSMpjIqm+LydpHfyNIZAe3pOEPzOClTERAML30X/1P9tEoazlZ0OH4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB6868 X-OriginatorOrg: intel.com X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Mmap_migrate test runs multiple times filling GPU memory with objects. Those objects are deleted after each run but cleaning pages takes some time after the objects are put. This patch lets tests to wait for cleanup after previous test if they need to allocate whole memory with new objects. Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13929 Signed-off-by: Mikolaj Wasiak --- .../drm/i915/gem/selftests/i915_gem_mman.c | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c index 9c3f17e51885..e486a52b855a 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c @@ -1047,8 +1047,36 @@ static void igt_make_evictable(struct list_head *objects) cond_resched(); } +static int igt_try_pinning_pages(struct drm_i915_gem_object *obj, + bool force_pin) +{ + int retries; + int max_retries; + int err; + + retries = 0; + max_retries = 10; + do { + err = i915_gem_object_pin_pages_unlocked(obj); + if (!err) + break; + + if (err != -ENXIO && err != -ENOMEM) + break; + + if (!force_pin) + break; + + retries++; + msleep(20); + } while (retries < max_retries); + + return err; +} + static int igt_fill_mappable(struct intel_memory_region *mr, - struct list_head *objects) + struct list_head *objects, + bool force_fill) { u64 size, total; int err; @@ -1066,7 +1094,7 @@ static int igt_fill_mappable(struct intel_memory_region *mr, list_add(&obj->st_link, objects); - err = i915_gem_object_pin_pages_unlocked(obj); + err = igt_try_pinning_pages(obj, force_fill); if (err) { if (err != -ENXIO && err != -ENOMEM) goto err_close; @@ -1208,7 +1236,8 @@ static int __igt_mmap_migrate(struct intel_memory_region **placements, } if (flags & IGT_MMAP_MIGRATE_FILL) { - err = igt_fill_mappable(placements[0], &objects); + err = igt_fill_mappable(placements[0], &objects, + flags & IGT_MMAP_MIGRATE_UNFAULTABLE); if (err) goto out_put; }