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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DE065E73158 for ; Mon, 2 Feb 2026 11:28:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 347376B00A3; Mon, 2 Feb 2026 06:28:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2ED456B00A5; Mon, 2 Feb 2026 06:28:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1BC3F6B00A6; Mon, 2 Feb 2026 06:28:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 0A0836B00A3 for ; Mon, 2 Feb 2026 06:28:53 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C81751A0B1B for ; Mon, 2 Feb 2026 11:28:52 +0000 (UTC) X-FDA: 84399294504.02.7CB19D7 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11013063.outbound.protection.outlook.com [40.93.196.63]) by imf26.hostedemail.com (Postfix) with ESMTP id 0A459140009 for ; Mon, 2 Feb 2026 11:28:49 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=fail ("body hash did not verify") header.d=Nvidia.com header.s=selector2 header.b=gQYhBJen; spf=pass (imf26.hostedemail.com: domain of apopple@nvidia.com designates 40.93.196.63 as permitted sender) smtp.mailfrom=apopple@nvidia.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1770031730; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1DTc9g1knR7fCV1XYDnKXa2r2w18VeWk6boPFA7IOpk=; b=lSfjhT9kt5lAVf9/YmU+zLExH/Z21OL6KA2Ps948YNyvO+/YFDjRTuc/Ea5u85RP1IBObr DrbW1C3Ki5pKslEvaaBdI/cFiprg8ceEG5/aPP7JC0P6z9FT/QUBWl5n9D6NIpiL/mbMJB ylnOMvy0dBcEciaMRAJNsYEp/suNvXw= ARC-Authentication-Results: i=2; imf26.hostedemail.com; dkim=fail ("body hash did not verify") header.d=Nvidia.com header.s=selector2 header.b=gQYhBJen; spf=pass (imf26.hostedemail.com: domain of apopple@nvidia.com designates 40.93.196.63 as permitted sender) smtp.mailfrom=apopple@nvidia.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1770031730; a=rsa-sha256; cv=fail; b=wUR7nOz5l+EF5zkDVa9xA8w5aQYyJnsi3+6whq5ZxdE7tqabWFQfJFnrSRWeC4rGQ/jaUo 2g23tpTIJezaw/tNAHGIQdcKOQnDZKhFcH68iUFoW8fPdJKLbRfS0Sjd20e3/mC/soiWOe dQU7PCw6drJrzwTGYtlD49ij/NwMvas= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PjROVxaAau/JmFu+dFUiIk6gB9zaETWJVhxE46LC6sAGNetfw8LpTEzevFLrsMYig6OGT45PwKV2mT91AKUiq1fGABL+zN5g4zRKoTcTC0RM3o3cPH6NEkPXU76tAQ9nEAcokWuz80t8x7l/fQtir39oJUGuJ2UphUCXkHsukmbcnfca8L/2Yz+AN+8E57a7zPbpiJZQAoxFhB7ZDIz2iyDcffDxaJOaoP6LfpzoO+v+U9jc1cFDwGZwY7BvLgKi8hpYv4w55o7XO7NxQmM0TxzKveFfT2kHXnknWYtPFFJ5g7B0Xr5lxWxtHCCBmHGtsPwP/hpeZnUVsth6c+GWyw== 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=3M+mgOctxXPYYPupbdMD08ESj48SyWoOBsCm0UcTRuY=; b=N/sp0epyHK4iRE78Uety9Ub4Nr5jxFk2h6Ji8WVPNXX6Dtyk64ByXo52SLyvLoyryzIlBJWSlBW7Igf/EW5GaUOruefuSbbZt45dIufZ2/m+kCBLsv94sFe7eLQ4Eh9LZObcgvWvsxJVVvsdwfqxMcCBRuQM2jpS2ysjBsW3BOe0wSduDsOgnu+mxLBQLFHKTqRiTfeRn5hFeYIuYsDLh+etPXhR/gRae2F/5tTUWLS65ptMiiBadNVVTkJGJ03cyr11civ6F4ddFcEFak+gK7z+dcCsgEN9AsaPsmWDPn0bUMgPY8b63by4R6lLSWeQcqLBwFkkaVhlSG9B/h5tMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3M+mgOctxXPYYPupbdMD08ESj48SyWoOBsCm0UcTRuY=; b=gQYhBJenKRWTmCndJodr399HZluT6pb3uKdmC6Pw9G2ZdJaigcqLo1YI71YTnoR9fVWWnRLihAllkxh99L3VW8C4BDelVkBFASWE76Iwf7ChtvlU5AVrqTIlhMdBWwsnrrC2D2ATmdd5gFK9L8gj3inBy/YLadGlmRhtoXnFkTe79YGxuFh1YdilphJY5jk4T+K0lwB9XSqHHxiJ3hc4Fybz4+kJZZUbZryEG4crRDkvviAp75S5ByxSfgNBnPEuR+E8HB2FT6h94LDxHXzbpX/zdi2rQXVnRbQ7KFfD+TH4jYUiBxM9JLCspgO5R6evOsPmiq2/5uJ4tHtZS/rzww== Received: from DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) by PH7PR12MB7354.namprd12.prod.outlook.com (2603:10b6:510:20d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.11; Mon, 2 Feb 2026 11:28:43 +0000 Received: from DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe]) by DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe%7]) with mapi id 15.20.9564.016; Mon, 2 Feb 2026 11:28:43 +0000 Date: Mon, 2 Feb 2026 22:28:38 +1100 From: Alistair Popple To: Thomas =?utf-8?Q?Hellstr=C3=B6m?= Cc: John Hubbard , Matthew Brost , Andrew Morton , intel-xe@lists.freedesktop.org, Ralph Campbell , Christoph Hellwig , Jason Gunthorpe , Jason Gunthorpe , Leon Romanovsky , linux-mm@kvack.org, stable@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH] mm/hmm: Fix a hmm_range_fault() livelock / starvation problem Message-ID: <27rdfv2mw6ibphgqzrys4weeonqofo5mc2mzkomewqjsyk7kga@zuip5drbskpf> References: <20260130144529.79909-1-thomas.hellstrom@linux.intel.com> <20260130100013.fb1ce1cd5bd7a440087c7b37@linux-foundation.org> <57fd7f99-fa21-41eb-b484-56778ded457a@nvidia.com> <2d96c9318f2a5fc594dc6b4772b6ce7017a45ad9.camel@linux.intel.com> <0025ee21-2a6c-4c6e-a49a-2df525d3faa1@nvidia.com> <6a6e054bb6efe76c439b3329702829dbc75b9060.camel@linux.intel.com> Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <6a6e054bb6efe76c439b3329702829dbc75b9060.camel@linux.intel.com> X-ClientProxiedBy: SY8P300CA0002.AUSP300.PROD.OUTLOOK.COM (2603:10c6:10:29d::11) To DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR12MB7726:EE_|PH7PR12MB7354:EE_ X-MS-Office365-Filtering-Correlation-Id: 172d509d-ca69-4025-cd87-08de624e38db X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|7053199007; X-Microsoft-Antispam-Message-Info: =?iso-8859-1?Q?gllMY2ITmcgvfWlTHUydCdjb3Aubo33IknsUycW+wT3eQ4n58ELF344LPK?= =?iso-8859-1?Q?nTZV7hhmTelAWeEwOm3lGjKy7OQIRW7TwPe4dRgfqasicJc4LIEBZ23QgN?= =?iso-8859-1?Q?+ICbgR/fbCUTDnY57L75s969fH4c7xSZgZHm4yZNdXknTzoUXqCDrBfcRu?= =?iso-8859-1?Q?BtjUuu+thcBjYnlyiBZlAA0Yhn+D2bQwdKicu8BM9G3R7giExg5wcnYNcN?= =?iso-8859-1?Q?zuF2qYo1DezVugRhZn8ur55MKhOMMApbDIP26nlQjs4MWF/g3M2lIJSmfr?= =?iso-8859-1?Q?MiCPItqGjqtaoKen8VM+5mgfQKI7xIbjailz2fTI5a2+ORfMsCIrxWYkMF?= =?iso-8859-1?Q?Z7k94rgQN0/m+EJa9yC2+e5Ep45NPe4L1myjNM5NQo4+V3R5i0IPgr72pj?= =?iso-8859-1?Q?PLlSfYHOS8swJ59acu2SGaZKuRfIE7voIFsdbwExEVYzufFJx6Rs4g1b49?= =?iso-8859-1?Q?9KiAZzwYQriFzZtRSmEVHtTgPzcjrmjDH/NSZThyTNs2jY3Rq1oeQ7kLqn?= =?iso-8859-1?Q?H82W5xgTcZRE7XoAI1zCh47E/QJdZagBV4GH0o/rB8ECypJ0YH0NrLZfqc?= =?iso-8859-1?Q?0Fts2PjZ+Ny+tk7NYbtOXmk6YQPHWy2z0TOd18TJ++llGFAuqn/Zwkpw8q?= =?iso-8859-1?Q?0K+8cGIeYhqNcZ02NGSqkRVJ6ZStZT6ik0li7itMWMn3lr5DHMsyTWd67w?= =?iso-8859-1?Q?xZFmFab8dtSFgvdCH/00Au9VXf+QSYNdfbGWChWvKhJJZC2zqviwq/UboQ?= =?iso-8859-1?Q?h7wTL07IqoN3tETNH0eMjdLjfgNk97iwtschZOrAuOCcApOiNEg2KJKEV4?= =?iso-8859-1?Q?h4UoiCP8+Q6ckCj6pFgAW2+w8tYcXer6hrZBVCIQ9IQ865BrQE81oqNMuw?= =?iso-8859-1?Q?bMO13mU340xRoiikdmHPVc26jne1W8H1eVbVOJCPpRb2qKR7+ljm9BxIw0?= =?iso-8859-1?Q?HafHVp8/h5IHr8u72rBxTVatAIPIT2fMM4YlHpCNAtncurQagkXD5BJqfP?= =?iso-8859-1?Q?Wr3cnc66M9L9JFtt+UhD1JHb3Ykv3F+7WQg+WTG/+yaZfKV1SLQPtPQq8s?= =?iso-8859-1?Q?NTsgxmxSDGqA/dNKc0ivmRvZ070tQ6lvxDlBxFuYiWFJYHnJb/p1o9g/+i?= =?iso-8859-1?Q?Cob97y3WK/l/3aNycIKX90VjTpZC3Qz0pGYYMn3wm1XMYuZchf8QUqIvs5?= =?iso-8859-1?Q?O+19FCIUl49mj2ccU2n4hbepUbqpDLtIbjimdNuCRi6fdWwZHP4wRU07l0?= =?iso-8859-1?Q?lOuJ0FwA2xqQ4XsN+o9b3P9e6vQm35/XWQ1WI2QO9F+PPyn0euGwVzrUrH?= =?iso-8859-1?Q?wbwTx/F3+OXaV2wpftiM8CbLCjAjh5antufkK9QZhaWjhlMDbr8pKDnzkV?= =?iso-8859-1?Q?Vzi+PT2JasA1IveGCQMmhdt7WbV/3as8JtGYV0f/e/veoWI8VSOKAd1I6E?= =?iso-8859-1?Q?P9nVdzE1oUlqt2h/rzjl89eCF35hGAEHfPPX5jXs33czPCL5hX8JoyD4Gm?= =?iso-8859-1?Q?h5+AwAjNcZIUL0ZzpyTgVbPT1phxkxmG6gFnVLSDDEXxQCOl7fL/jMyG0i?= =?iso-8859-1?Q?5lTlEHNgHUKr/3J7QD5GHSAWR3qLIO29g7m2D9bBffIvBf8l9kVB4KT23d?= =?iso-8859-1?Q?yM8hXt5YVLqas=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR12MB7726.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?iso-8859-1?Q?vB8FQcsjVQUenDEY9SH7d1Wwb0vJw6K5lcvShssxOuIGYuzUyGV9/6ZVXl?= =?iso-8859-1?Q?xzPXYHk0ex9Ce7BlhiMdpXY48VDPJiUMCO0iUqTo54Z7gMr+UsAd7rOROf?= =?iso-8859-1?Q?SUwxGxODzJ4tUFjTr8hD5TetxRX4jwDaNhVX4C6PHs57YzJX9LPFjbz3Gg?= =?iso-8859-1?Q?YR10qmZLsUxJ7SGmRKly3pkSicFc0j3dapNESIsPwNSyYKqTVTcXnhyPNM?= =?iso-8859-1?Q?3dlpFuGNJkire9YPPOHwxm9lmyIvex8BiyDegkjXGM6WHamH06DMGOj1Sn?= =?iso-8859-1?Q?CT6LqJcOdoMZMqSlWZF1qo5KSSPxURDVmPJ/MvUxBAA1KaAygEKFkbnj6+?= =?iso-8859-1?Q?E+xAfy99DEIoXlW299+tyJ+NHgLbQYDyGcKXQ3DPCiLSjcKJf+3iVgou3C?= =?iso-8859-1?Q?vxMOt4QxQAkgdyYCIcrxs3jaD7kdshENNp9/pOGwsdtHO7vTjA5Yot6QUl?= =?iso-8859-1?Q?qzz/oCSBQnOgtojq8MrxwODrWRoYxSDOdLAXJ2gQGuCbe0w6wi8Q6TCUoH?= =?iso-8859-1?Q?PJJXx2Ihqo9iTePEHQDb6uXqUuq5+pE1XfIn9X1WDZ/d0GKImfg9DFt5U4?= =?iso-8859-1?Q?HeJwcgwrrqNGbyuyGqwqJDUrRcWXPBA3t/+hGb+xqhBBaXzHQvXbzJySqc?= =?iso-8859-1?Q?E0dlnHN2WQmNQeEwfFuSh4lvo9ZhL5MIwDtlz0R6s5EvW7LIyiY3JiL6l7?= =?iso-8859-1?Q?3O2pzjtzasK2TPRF3BwAAp4r36Pno2foKRsXUjW7x1I6Z/z+7yTdyGbO3t?= =?iso-8859-1?Q?GQOQ4esMSMj3Ylxs86O9bnYCuhWQsYTaLA3CqxlPHDSeSqDNepcQKXD5u8?= =?iso-8859-1?Q?bsMq4w+BNIE2bgUwyQBcIHrtvMgUrfDVweHwaXllxf2iLO8LOsiQi6Q08I?= =?iso-8859-1?Q?4U9lfWh3c01zrQb5rIdByehqFTz+qzlHqifP+b5/z6whpCjN9N7BvVNxqf?= =?iso-8859-1?Q?ORU7tjhMUZqUeYe0VMfV1MYclCkpwRqfrQlyydDnRHhBXXUob2Z22R72ue?= =?iso-8859-1?Q?53QjZEjmS8EnMoTVQqXQVzBxUdkPDz9Lc3lWFZn0nLWoJORRtXM9leR534?= =?iso-8859-1?Q?BF+H7BgNm0SKTQWgPZlNtsy6o7Qe4ABcXTvveaD8zOn3J5clMh1TDRmlmq?= =?iso-8859-1?Q?F+xccMzDFJyFFK7u/gDYlKIR8swOdlYGC1WX34X808QNbl+UvJBisZUdqL?= =?iso-8859-1?Q?MH4ZQcDWia0Tm3Q1rFq1YKBE1vFZxGH4/h8yKdVwE41hufO98stxMrLbxK?= =?iso-8859-1?Q?KbSPxWb9RnNP7+TGgByoSxwmGg7Fptwuln8ZRIv0w6DukovV+gQ7OYTbTv?= =?iso-8859-1?Q?Dx1loRDJnuSsmgm58EyuQYdAW1mzrqfyg2eP9UbmiBc+iyaDQh4KI/kb7k?= =?iso-8859-1?Q?LhJoDIbchfC+09hm5nBAPVi0swgSpkSN0qs3s4f2oTF6HWBDNn1m7iPQ1w?= =?iso-8859-1?Q?6uAWfzodpPBIP3LWDpfocQoYIVVfkqHf8Sa1pgtQgCU6OzQlBAqEbmLwhg?= =?iso-8859-1?Q?Q7/OBErDSr19GE6Iy9RI4QFOg+V3oi54PglPn6Nm7D0gLXeAIpx99jIzd/?= =?iso-8859-1?Q?O/nrWY408+zrjWdEZ+nKWo++e9fKjnhkGmonywHJHJwZV2SlhOkpCKcNCC?= =?iso-8859-1?Q?vq/RMojQ1ZM3FV+bxnHyA5PiC4vo0uOBDQzXs3CQyWH/yJy1Vu2OhwKPQu?= =?iso-8859-1?Q?SAh1tACXISeNEPVyj5cWE4GUXN+pHV3WlM0ai17jDVinMhFneV5ogfZVJf?= =?iso-8859-1?Q?uMeyYjZ+B7i4lBYdnQnx+E6frP/YKDngP4m4xr1olekT/Se37pCmN+umyT?= =?iso-8859-1?Q?Kl2wPr5y8g=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 172d509d-ca69-4025-cd87-08de624e38db X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB7726.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2026 11:28:43.5096 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ESOWGuvjP3E3gH/hgUR0/m38EfcEvhMkVFhWg91WFaiLUV3Ifb1HXisCqTu9ZL5mgnSckapSRC7RJuVNjO15Pw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7354 X-Rspamd-Server: rspam11 X-Stat-Signature: t1bu3ugfpn976iet6om5teisjt694qk6 X-Rspam-User: X-Rspamd-Queue-Id: 0A459140009 X-HE-Tag: 1770031729-208995 X-HE-Meta: U2FsdGVkX18wL1/MZa+mBiQaHH4crgw4h7NLY8N/0xbMVmahDtODLb5oRRIyfemhGGu+5hM7mkHbowf+SYqd9QIRCTcrUasu/V5YmbrmvQEgvpyLjfZvBIS+nOjKaMUO34tNSsoQxu01+O5aA8k07SCWk/xTvuPVwmui/hG2UTeBsLME/vBfP4KKsE0/Q8Ke6OTQBGgnH5ceXjji3pHnw88TTw4sUZ88ep6rS3Tk+94Wip9wQ9ORMkYemZD6LcfZ/V1v5QoNAk921fYhxErgmYgs6zYG+7x0W+f79dQkGrYGNaEjnmxWd3NhkeRItGOTFu9q+14R8O0+yRr0DSOPrLUmXzI/HDWXrebZjfnTI7FGRjxjWAD8gkq2EkP9MHPf//qr+ntIA+joG0mEKokIEGuF7djUmTW2yjMmenxHYK1TnrhhI5GYEDsBWCiongsgPuz1Ud1Bn6guRu3RWgdpuTWsrI4SjInGcjIdUwg2tk8Kt9D5BPS2/kiyJ7DdtapRY6K/dcoxD5OFcEA61+WNPbDVZ2A1+08TWMeQNUXgmkdqh5jy0lkWR93q8qGMooXTc+XXJydP0I+oW0c6fFOlI1qa1LYH5A1kxLNrX1F6qofJnNT7gLA4vpfaUoes2Y5vA2SZvW6+yJYmFMXaOJVLiFEmEX5/iEkW/EcV7/rbAJVv4i7NFkAtQ9aiXUSKhlJNLYEJDmheCZGai97xhvBqwkafkZVvRGXJB1/MF2TKwqne7nu4a18AKr2vlcZLqiyvxQGub0ac3q+KDdYCJRtoaH5tmZ+kSiQ5DKpHxKN5osqBxVOe6cmtMHxZdy7AJTzqX9GnRiqhRu54mbz3ZC98phgu4dnBt5w+KOMbw+JK7rVl/ygalS8cOdXHgITsewfKkm9OSbbPXo3bPFfkGndwEDZewrAjysdbzUXVqFkETgzu5v4xUh/7k0LjEo12iDlL5A0+Ls0Xe/FX2pO+ev8 wq+vbjWI JYZ7oWVkhB1c5ByNN9wv0TObcsrycTE53WBcrzYsBLDKRaQa/SGXghxR5THaxcbTdJBVs3d5ofyp1W1RbljR4BFiaW8PkE6xCYHiF4YxZ+MF3QsPv68bZTlbkxN6WmZJ3h9GfIEzIEyOIn3rsfA2OhWn8bcVG0gVNr+Ea9I8G70VrgM9j3HAd6hTm+Vdnqo+8pARaxNHSu2hwaD28hI8j7qnoY8mkko+3gkP0cKE0nz5oblwqbDMzHGXIROw+AFpL4WR5xP3FrLYgJKVTXoyATdFvivBVI/v05p0XqDhwW5rBEPEkS35l37R9OZHlagvnSRkRx5O3oTJm6yqMpkiL/4eOSFvkGzLJ+rb/RHxgSKRryya06hX0TDtBXJ/J/jd5EH/tqc+H4rBeGRjEPhA32qMlYvvliNRkN6hPk/KG3cTev7UNWdZsVkM1GRTA4sn8+STAZYkQg2xf09R/4pb1L/JIC9R2DP4UhQ+uEV/+td28HmOwCFFgwU49ntzH89iSkQzJzpeyvRol4wiK90QcuwFtPsAWYIGMMhTsnsDvfFn5KfsV+84hoAhPl5597mkRC9y3LTOck0036fJGNrYJTZt8HA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 2026-02-02 at 21:51 +1100, Thomas Hellström wrote... > On Mon, 2026-02-02 at 21:34 +1100, Alistair Popple wrote: > > On 2026-02-02 at 20:13 +1100, Thomas Hellström > > wrote... > > > On Sat, 2026-01-31 at 13:42 -0800, John Hubbard wrote: > > > > On 1/31/26 11:00 AM, Matthew Brost wrote: > > > > > On Sat, Jan 31, 2026 at 01:57:21PM +0100, Thomas Hellström > > > > > wrote: > > > > > > On Fri, 2026-01-30 at 19:01 -0800, John Hubbard wrote: > > > > > > > On 1/30/26 10:00 AM, Andrew Morton wrote: > > > > > > > > On Fri, 30 Jan 2026 15:45:29 +0100 Thomas Hellström > > > > > > > > wrote: > > > > > > > ... > > > > > > > > > > > > > > > I'm also not sure a folio refcount should block migration > > > > > > after > > > > > > the > > > > > > introduction of pinned (like in pin_user_pages) pages. Rather > > > > > > perhaps a > > > > > > folio pin-count should block migration and in that case > > > > > > do_swap_page() > > > > > > can definitely do a sleeping folio lock and the problem is > > > > > > gone. > > > > > > > > A problem for that specific point is that pincount and refcount > > > > both > > > > mean, "the page is pinned" (which in turn literally means "not > > > > allowed > > > > to migrate/move"). > > > > > > Yeah this is what I actually want to challenge since this is what > > > blocks us from doing a clean robust solution here. From brief > > > reading > > > of the docs around the pin-count implementation, I understand it as > > > "If > > > you want to access the struct page metadata, get a refcount, If you > > > want to access the actual memory of a page, take a pin-count" > > > > > > I guess that might still not be true for all old instances in the > > > kernel using get_user_pages() instead of pin_user_pages() for > > > things > > > like DMA, but perhaps we can set that in stone and document it at > > > least > > > for device-private pages for now which would be sufficient for the > > > do_swap_pages() refcount not to block migration. > > > > Having just spent a long time cleaning up a bunch of special > > rules/cases for > > ZONE_DEVICE page refcounting I'm rather against reintroducing them > > just for some > > ZONE_DEVICE pages. So whatever arguments are applied or introduced > > here would > > need to be made to work for all pages, not just some ZONE_DEVICE > > pages. > > That's completely understandable. I would like to be able to say if we > apply the argument that when checking the pin-count pages are locked, > lru-isolated and with zero map-count then that would hold for all > pages, but my knowledge of the mm internals isn't sufficient > unfortunately. We don't actually have a good model for pinning device-private pages anyway so I'm open to discussion, but I don't think we need to do that to solve this problem. I would appreciate it if you could look at the proposed solution in the other thread a litte bit more closely - AFAICT it should address your problem by doing the same thing as replacing the trylock_page() with lock_page() without requiring getting a page reference, etc. - Alistair > So even if that would be an ultimate goal, we would probably have to be > prepared to have to revert (at least temporarily) such a solution for > !ZONE_DEVICE pages and have a plan for handling that. > > Thanks, > Thomas > > > > > > > > > > > > (In fact, pincount is implemented in terms of refcount, in most > > > > configurations still.) > > > > > > Yes but that's only a space optimization never intended to > > > conflict, > > > right? Meaning a pin-count will imply a refcount but a refcount > > > will > > > never imply a pin-count? > > > > > > Thanks, > > > Thomas > > >