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]) by smtp.lore.kernel.org (Postfix) with ESMTP id ABEF9C021B2 for ; Thu, 20 Feb 2025 22:45:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DF8F36B009B; Thu, 20 Feb 2025 17:45:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D81B86B00B6; Thu, 20 Feb 2025 17:45:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BAD816B00B7; Thu, 20 Feb 2025 17:45:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 9D1C06B009B for ; Thu, 20 Feb 2025 17:45:50 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 3EEB1C3020 for ; Thu, 20 Feb 2025 22:45:50 +0000 (UTC) X-FDA: 83141806860.06.1B5BF85 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2055.outbound.protection.outlook.com [40.107.223.55]) by imf14.hostedemail.com (Postfix) with ESMTP id 55AD110000E for ; Thu, 20 Feb 2025 22:45:47 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=fail ("body hash did not verify") header.d=Nvidia.com header.s=selector2 header.b=XkbuBkzg; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf14.hostedemail.com: domain of apopple@nvidia.com designates 40.107.223.55 as permitted sender) smtp.mailfrom=apopple@nvidia.com; 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=1740091547; 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=xT0Ir0L0GIYgcOx0SgqRm1HvG9P/w3qfeTayALXpBUc=; b=i9fCWIwIhV+xXK+TYOZ/sDjO4Aamh7LDn4CoHHx6y5cs09WOhq37wpYk4AjrTa01Mjd06F Vs0Mjsl1Nvnrfu+wK7qGXu7Hn5ueJ72F5Rxo+TtVfPrjGLhE8b++gDUQyT/XuDiWlFwSD4 gbUvUMYopPwoH4AcGs+8mHdHRs48PwI= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1740091547; a=rsa-sha256; cv=fail; b=KTvo3pzFfAU1KHkqhsVwgnPjT00vwypU1/Fniexxgg2oPGkbboi5xEWWkJlo/1zlv5x7WO rGbZAt1ogl9/MMyFyrd/C8AAnC/7GdNgccSgyjuK8STejvcj8XLqJNAXO22a5/ubAf/yNt pPT0G3ORp4xEO6jDvro1fdJfx4vYVUE= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=fail ("body hash did not verify") header.d=Nvidia.com header.s=selector2 header.b=XkbuBkzg; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf14.hostedemail.com: domain of apopple@nvidia.com designates 40.107.223.55 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=H5e73yyWVuXzorba4dTCAlt9CfAdLYQqLOxKsLUlCJuFUuqGzD+/WdDim24FXbP8iNSPGwZeJGh1z4JV6WU2q7LnBhTJbR2y/j8fMKARLZlqPf6Tzcbk4nyUAIb8V08I/6XVZQrWAsz6jnWirk67+mVS9qXmzVMv2ZcouXVIqepiqIHb2iH5Nj0y5UoKrCq+SOghFRLB/q2eh/jMRX2+y8GppY2I2ZLxskRcGGuQSDVBah9z4t6kM/jbfwmbgYRLkwVgYYnPPlcG9wuv97CRyD8SNrxkpFIHCj4Lzp9/r/ojg1xgJ75Kp8K0ZYSmJ/Q6dMWXC70vLrzXK6Ire8UMaw== 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=Kpuo4f9ILG8hQnCZa3Oc9nHtLZ+EY4x9ettIPMKAtU8=; b=dAq3rxA2V1zswU8pmcJcERXcHxaoMgYn8KmHZhzVjf+VnxIxTsyWa21q+pKqfARG8Hs86kOFFeOswZxy/JMSBP+gvkT5gkbyRbfQmNk/KAEpephyFp0b2PqxiHSxa3wSA+Gy/raLM5vNEsEsHHDKF/6W5YTmdofNyIxdXPaZUEXwl+pD55iiJPvfkmtIrmluTOhQrxWARMdecne8JKKo1z+YXDnkfAbThLuzKT87FKAH5sy3oBygDNpz7gIimDWcQY0t0oOQlJqaLZlXRwlh7VT7yL0+jjVYFkBzBzY4jHEN+5VA6TMSbRQa5U2htyClFy/azfllWUfGo1HKHkYIdQ== 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=Kpuo4f9ILG8hQnCZa3Oc9nHtLZ+EY4x9ettIPMKAtU8=; b=XkbuBkzg9z7C/yP7VZrY4MnzPgrBLkhFRLybuT3oOQzyRWZlzQ8S2pUPCVKbfzi8rHGgVXTkNnS6vHtvHE7Y99CHwWasjq5DgcJ8x3UjTFHzhEw1gAOTGNpLd81kX7VBbtuYcjOeFIXV4N2LAZnAUTEARhrXdArPmZYlx9GgAvD8EiE/9JZ9fHVOh6FBzxvXlLK5tuem0ti7VOfjlGUMUk+b8EeVpP4Q8iByznLD/o/1fCKjWWQMVGIri8TjeGRHFwhhNIE1guCv/3lfqlcfH0d0GxtkjUgdsLZhHwKtilBxQIrufTv+85z8iL9WpNbiNLY+20On1aThN4z4VZPGnQ== Received: from DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) by DS0PR12MB7535.namprd12.prod.outlook.com (2603:10b6:8:13a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.14; Thu, 20 Feb 2025 22:45:39 +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.8466.015; Thu, 20 Feb 2025 22:45:39 +0000 Date: Fri, 21 Feb 2025 09:45:08 +1100 From: Alistair Popple To: Balbir Singh Cc: David Hildenbrand , akpm@linux-foundation.org, linux-mm@kvack.org, Jason Gunthorpe , Dan Williams Subject: Re: [PATCH] mm/migrate_device: Do not access pgmap for non zone device pages Message-ID: References: <20250219231337.364133-1-balbirs@nvidia.com> <329060a2-8871-4adf-9a45-f0afaedc8848@redhat.com> <22cff2d7-a9db-4a86-a168-d610fc00cdd9@nvidia.com> <66467b8d-9e8c-4a74-b932-9ddc3fcf459a@redhat.com> Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: SYCPR01CA0016.ausprd01.prod.outlook.com (2603:10c6:10:31::28) To DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR12MB7726:EE_|DS0PR12MB7535:EE_ X-MS-Office365-Filtering-Correlation-Id: 74699c48-90a9-4663-08bb-08dd52004104 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7053199007; X-Microsoft-Antispam-Message-Info: =?iso-8859-1?Q?ucZWQC/1medbtb/f0oumCG5N5z1blcyHx379MrnFSRQyAIeJcJdAhCxWpf?= =?iso-8859-1?Q?LvmOuKCWIvwmJi0ANKjHeYAlwgkk4zUi/3nKWF+2eEhjYbWVevdz2a+pnB?= =?iso-8859-1?Q?bDVH9W45+31yT5XpWOjNUcs/ik89BRgy8PSjyPC5OA0ZxGtnCI1IB/swy4?= =?iso-8859-1?Q?Q0SBAeKtFpxSZJAjF1Yqle0TyZSP45gfAC/c9KvzKItapSfIau3B4zqshO?= =?iso-8859-1?Q?h8pXp90S3JJQ2kOtFUhffDjJ68kppI00MGuNMvmOVUwcSSQulfmkCipS+N?= =?iso-8859-1?Q?3dReYsWIPbbxTTur9FnbsoW9kRAx8K5s8O2f8UATwqK6B1zahwPpi4xBtU?= =?iso-8859-1?Q?cy/fynyiq4haTHQbvQ8ErNsCIWKLHPNUT+fYSY+TMGdUfbykxpYPt3Acmt?= =?iso-8859-1?Q?YcaJWjzy6jaOlsaBXMbrcG2iMf+hem6L3N9sXwmaQlL7WC5gz8jS+ykNSt?= =?iso-8859-1?Q?lJO/05kX3vaLHulLpMATHJBpkSYQju1ORlD3ZHY4CArD9Bky/3DKHdoUWf?= =?iso-8859-1?Q?yhAzYWcAZuC1x9HTDAkSi8lGEYalP6are7bkobtvzxB/kIqqgnQo2VW9T5?= =?iso-8859-1?Q?hJnFE+8NM/GeOw6kHDaDVDyZaBL6si0GjhWtDyCj5EMfD6ilc6OF5sk7dc?= =?iso-8859-1?Q?2f+pHUrA3hjVFNeNpY4Q6XOXr+K5smFPEf5Ak8kM7kJFjK0rXxstL3HFyg?= =?iso-8859-1?Q?j0sg6LECYqg0YZS9lnyLDcusiVgShj1oD8w8bHd1PLWlf66jndSwyZPWjS?= =?iso-8859-1?Q?TOs/NU4ghYrqgF37gJDV5SqKaleaSrieGjMmRkwoHHrE/a31Ml8Db+0CM7?= =?iso-8859-1?Q?rPMfM58vculXv+CaEtGGWWwAV9Up+gCSS9k7ILKdfa4QQVSy3XE8msWqd5?= =?iso-8859-1?Q?bWvALy+Ge19oh9caOI90Vtapaq5UQmAweeXtkG84XVLVuiKso4HCIPO6gI?= =?iso-8859-1?Q?y0TceinM1sfKY7FWQtByf+hAfRwWFVQ0fYRoNG8mkksuCDObWqYd9WTeFR?= =?iso-8859-1?Q?1psZohJl7H/eNzT9w0Ay+UQj2K+sQU3DlO8IMjGpdJo4A0JkC8Ty4dWNO6?= =?iso-8859-1?Q?7vQ/vtHwImC3BsOoPpXAU+o7y2VwTrhvA6NpwKIQsISnUqDIz/xppqQ7XI?= =?iso-8859-1?Q?5ecKp7K42cKSlrqdWO8HgFICYwbaqiU1Puzc1qr3WL5iZSxgLf5TVPICW5?= =?iso-8859-1?Q?sxvaJN3dhoKI24ahlzL/UvdOF/k/dMmnTAWMO1Y9/9Wo9MbmPsYtQkeJ6u?= =?iso-8859-1?Q?6PbbySCfZ8c4SN1s2tURNwRGtJvwpKm1AXDqEJKSqxAWl8k0aTsnHzybHp?= =?iso-8859-1?Q?rPzFwn3FGlUyecxLAPoPAfauWtUdEQZETloWMGNNgI9jNbQbKWdh2yAuu4?= =?iso-8859-1?Q?EhLRqPQYPqu/w6VCVD5hZOcfbmBzAnAOQP+8KExzz7mVRZ+4/EQgLnK66c?= =?iso-8859-1?Q?FpNwyOaSJKErVZRM?= 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)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?iso-8859-1?Q?5yk6AFNXXovHN0wNaUcUG+FOyXuDbZeWOkFmYigx+cnBmkhiRvZwUnyh+h?= =?iso-8859-1?Q?eHp0Ck33LHWFJZq9NW93MH1ds3ElQPcVi+UMYpzSSRNRkIbBa3wwqW2N6L?= =?iso-8859-1?Q?xWnrNzPmwiH1U5YylnL/eUG0PO+S6bYJbUN0OaRoDQ1+Gpe2GQyFpqNJss?= =?iso-8859-1?Q?U70GTzWTynLnEAwrQNMo/5DmRcu2fuuB9EzA5ITvPlQledpyNYA/YfArMe?= =?iso-8859-1?Q?W1QBS8PYh7BiWUmbfkd9jzXuITHkpxhiU66MughfqsLN171rtiiMvdGhwA?= =?iso-8859-1?Q?NXPxngl82AbKDoYbDkIu2maAmP9HULWSAupWPJYE21rboNNsIBFLJROV8v?= =?iso-8859-1?Q?pkC7RHhaELUX5mQJU0lHrXUgrKumE8lFroDCCmwj8no9WV8Z/NFGanEOpF?= =?iso-8859-1?Q?qJij05m3i0xiwibytxg4D1SImLzuS/13P2zbx48FHVFSpkRqU/qmVjdVK2?= =?iso-8859-1?Q?XFCLvhG4+0/wzYuJRHijSQk51FSBPJm/iZRjUS1QZChxP+Q1IcuQT471Ll?= =?iso-8859-1?Q?s8SZMPy53/uPcBYGj0gr99Unj2g+jBxVXO65tC4VXKS65GK/mEFjyF73RY?= =?iso-8859-1?Q?zvMQv8bos+j/KSpPNGJuck4/mSS/SM7af6c6Z2TO4H+vZ29z/I9sqsa/bx?= =?iso-8859-1?Q?9H3ZTohptcA1ZLf7xMndD1Ev4ztKcShTaZlimzAu8tHUgfG6whxX5jfH1Q?= =?iso-8859-1?Q?tM2qrnLibORvOHVL4uhzZZiwmqzH1nCYbfOyhA+KdrOiatgdWrFRvr3CUv?= =?iso-8859-1?Q?+xtl3lSZqBXfDYoMbFkeeKfSJuxtXtOkOHuLDqoWqj/c3cblyjrxKTJC2z?= =?iso-8859-1?Q?NSTb/ykLASkis6A2+8nQErMt7EfFHjaFJuvWIbIBDb3B1UVvVZ0GVNE5Ew?= =?iso-8859-1?Q?FeqJZnpXcf49i62EQu4xqawVj0bgFOSDIc8VuzoRVBCYPQ/jtpp3oaL18n?= =?iso-8859-1?Q?sMrlDXbXF4Jx+Wkc1CA+lIEdeVldJXPOLG5+BMB8cjHf/uYNAlaIZQWh1t?= =?iso-8859-1?Q?Dids6cwl/GDnwOhymPN+2u13doGOk3gWyNLaciH7anZl0NkxYsUMCD+eA7?= =?iso-8859-1?Q?cgLIID/38SNauqGTm+g40mBh0167ol+DeLFeUKNkTNHlkW+IHJv+6tVomr?= =?iso-8859-1?Q?AWaQtRPB5XArm2l+HSFQkMNvnrduYypyw6+a/ebwLJ1zORiuxPxjHfjreL?= =?iso-8859-1?Q?mNQfYH8aueO+Pqhg5fJeEx/WRw7jOXMfTVRD5/bLMQ67BDeNCAqFWjizdU?= =?iso-8859-1?Q?JBb4LORbpsBYD+ZQ5Jujj040VxRtaUOvoL9rE8w2XgvrJJ96zLdVrMdeL6?= =?iso-8859-1?Q?RLCXPpkaJNIefDG7Oqa7FAyA9EQ1rAg41AREjqOcEkvRl8IBqe3JD5DSA9?= =?iso-8859-1?Q?ru/tIPTVQz0hmRIs3rtU/JLQbACs23q8v1xpbYOJMt/tk1CiK9DX7mowEm?= =?iso-8859-1?Q?YBpOxG0tRLv8FLOcxsnXwiN2n32D25uXUkBwvN+/893BQLSRDaVRLB2rk3?= =?iso-8859-1?Q?TucSXjmj7ZM4u+aqGGsawOZPmHpCBVq28UWbQGIjNysi+divpLDz6gLu4N?= =?iso-8859-1?Q?hlqHI/ySQTvWdk0OF0pOdHKTR8HGrHNXZKQNCleQirPxiHBChBL2uVNWK4?= =?iso-8859-1?Q?U/ZGuPsKLgjaTZOUC45DgiUhpdjS2/pGSV?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74699c48-90a9-4663-08bb-08dd52004104 X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB7726.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Feb 2025 22:45:20.4431 (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: qpgIpIqX74ixtYzLOA9kKHjm00uXobchY38xp8ul//g+Y4DNKc1BbqLm1AN8Qma/QmbVtMktMh+CGISC5eHi7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7535 X-Rspam-User: X-Rspamd-Queue-Id: 55AD110000E X-Rspamd-Server: rspam07 X-Stat-Signature: m1c8571n83bom8ss916offd71n9qxprm X-HE-Tag: 1740091547-963318 X-HE-Meta: U2FsdGVkX18Ji9hQHhU+7S293rj3tV53iJu8NG0jUihkKRYH51i5q9dkTBwQykp0iS5bs5Kv1aC6exjxblWETFAiUIxjMyAqMqEwmiXvNx2WbFtGfHSTdMjAOlY+TeQ0OMlWMYUlqSUKQz5TihB3HDUHpc/zyZlalSD3nQ4wnDnng838Ai/pLiHXUVC0zT4p5aHexCaxtEJLMvxTknT+d3K9sYsjHLvVMp5i9U/kVGxJ3WdYP3+wr8sVG6Q6OuyzLjuKfwYHWcccMk/kpo3LgmTyTMIgx3fo+46tLU8Wt3cfLqjFuOfgqpovU1BL3HI81fBLvYrHCOMMMFaEK7pH1WRp5nieyeDtudvUy+VTw5RRehvb8GzVvJHtUWU1vAPtrA62zWHyRDilN36LBnh2HprX4mZ9TQORHMJmKIMtcVd+/S7oOFDsAG2epjKOzrQv4XxJTil45B0+t4zeUuYIP4IXUaAPFz0cQJSDtk+epTGsnfeh5FBCPHR3zPm/MrXMU9kF8vzx6PmiqJLl1YGg7+Ny4FfXpcOEi+IRiZVMJGpptYhaJhuirq449/CDanzG3rDwjga9WCVzw2y5BbaOFBlWLlC7EfBnmA4U8XK4HBbm/uwfLf0gpmj8XxIgGfvdtLaKxvDhJMxnPUdgMd+wyLCoI2SjxYpj1mY6/fnHqSOXcegajUYpZiqq6lxkGuZMgRGKqVVRuS9tpzcu5QDrCcc32uo45axCHMKpfOQ/IcU8kSFLG5CAW8A9hy47Bg+QZi5bBQUV02+5nJPyyWJLdgDynq7FW//RfMPaQrcXAIWrFvIP1OrQyvuUZCvjDPEZAiJ4eMnHc6Q6rQYDWiFKWu4vfCuoyFW2pdbm4GLD3lq/SD1VHNLGmeSVNCxYj+Gn5em+QXE0YMXDLtVZvyXGkft6p4xUhp+CtE4iX0+43QRjkgshv6qaw9TQDIzyW8ZyOmAF1k2DBfKQTIMm7sn u806f8jg c/uHq4SHB/fxTDEJL4utxECMaDNsZIYF/vUVJ+B6WxRKn9cN4rxxOSzggbjKDcRvpEjg9yfaWruvjD/Ie5IDbgyqoFGn/4NufXBKe3XVbireNlLRGjDZF/dB0TXAHzZcZa+ww1QCWq2U+gCFQk4K6lKJiQddaTnf/jBpmmTW9Coel0pC1kBvXJyK7x/Qw2j+7WO16Y2jsTwh1kYlIUNszpnIWo06AAVn5A5npcMxheR3onEe1xaQ4pQdEUqzQRtPg2bNKWWLppYCD0OTdXWw4g7zYFXp50wjgII61Wj6nNP+70F+ifJlHTvzasHQBolLAiyvzDS47WrvqvHtfn3lawvg3i8nys09KW6wKXCKlW2fI7yHdCx+bBE+uMhAatvSAu53QMMJ9t3a3IqSPI9UXCNq8e6ExpTeB1lzdbxzyB5/8J5Trun/YB4L18A9iKrPyWWQkaK7lCvfDILmDv6R9Y+kfLvGwtaxdHvv+7dSZr58gCgMtL8mKaKzR3fRhH2E+76m0dFtPDLDEWJWElvTFDc0J3Q69Rjue7wvCzOGxuLZShQWsHgG6ObV1ePy+m1h/ozfKPE1eOW5JuZ1+RK2ghNz3NNGatHNURAetepXDaU/fdkgfuPsv/ZSBsUvsKcCD2030dvK1A6wq7AQ= 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 Thu, Feb 20, 2025 at 11:38:10PM +1100, Balbir Singh wrote: > On 2/20/25 23:05, David Hildenbrand wrote: > > On 20.02.25 12:58, Balbir Singh wrote: > >> On 2/20/25 22:48, David Hildenbrand wrote: > >>> On 20.02.25 00:13, Balbir Singh wrote: > >>>> page_pgmap() is referenced before checking if the page is a zone > >>>> device page and this triggers the warning in page_pgmap(). Refactor > >>>> the code to use the helper function after relevant checks. > >>>> > >>>> Cc: Alistair Popple > >>>> Cc: Jason Gunthorpe > >>>> Cc: David Hildenbrand > >>>> Cc: Dan Williams > >>>> > >>>> Signed-off-by: Balbir Singh > >>>> --- > >>>> > >>>> Fixes: 7f1cfd71153b ("mm: allow compound zone device pages") on > >>>> mm-unstable > >>> > >>> Is there actually something broken? At least for now, reading folio->pgmap should just work, although it might be garbage. > >>> > >> > >> It triggers the VM_WARN_ON_ONCE_PAGE > >> > >> static inline struct dev_pagemap *page_pgmap(const struct page *page) > >> { > >>     VM_WARN_ON_ONCE_PAGE(!is_zone_device_page(page), page); > >>     return page_folio(page)->pgmap; > >> } > >> > >> Nothing is broken, because the code below has checks for is_device_coherent_page(), > >> but in general I think the WARN_ON is correct because it warns us against garbage > >> and it's propagation if the correct checks are not in place. > > > > Ah! Now I read your "triggers the warning in page_pgmap()" in the description. > > > > It's usually a good idea to just include the splat you observed, if you did, and call it "triggers the VM_WARN_ON_ONCE_PAGE". > > Sure > > > > > The "Fixes:" should go above the "---" in that case. > > I was not sure if the commit-ids in mm-unstable are persistent, so I put it > below the --- to avoid confusion They are not, but I'm unsure what the process is here. I guess either I roll this fix into my series and repost or maybe Andrew takes it as is a separate fix on top of my series? Either way the fix looks good, so with the code style comment below fixed feel free to add: Reviewed-by: Alistair Popple > > > >> > >> > >>>> > >>>>    mm/migrate_device.c | 13 ++++++++----- > >>>>    1 file changed, 8 insertions(+), 5 deletions(-) > >>>> > >>>> diff --git a/mm/migrate_device.c b/mm/migrate_device.c > >>>> index 6771893d4601..e0bf771edb6f 100644 > >>>> --- a/mm/migrate_device.c > >>>> +++ b/mm/migrate_device.c > >>>> @@ -153,14 +153,17 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp, > >>>>                    goto next; > >>>>                } > >>>>                page = vm_normal_page(migrate->vma, addr, pte); > >>>> -            pgmap = page_pgmap(page); > >>>>                if (page && !is_zone_device_page(page) && > >>>>                    !(migrate->flags & MIGRATE_VMA_SELECT_SYSTEM)) > >>>>                    goto next; > >>>> -            else if (page && is_device_coherent_page(page) && > >>>> -                (!(migrate->flags & MIGRATE_VMA_SELECT_DEVICE_COHERENT) || > >>>> -                 pgmap->owner != migrate->pgmap_owner)) > >>>> -                goto next; > >>>> +            else if (page && is_device_coherent_page(page)) { > >>>> +                pgmap = page_pgmap(page); > >>>> + > >>>> +                if (!(migrate->flags & > >>>> +                    MIGRATE_VMA_SELECT_DEVICE_COHERENT) || > >>>> +                    pgmap->owner != migrate->pgmap_owner) > >>>> +                    goto next; > >>>> +            } > >>> > >>> Coding style wants you to use > >>> > >>> if () { > >>> > >>> } else if { > >>> > >>> } > >>> > >>> Not > >>> > >>> if () > >>> else if { > >>> > >>> } > >>> > >> > >> Ack, checkpatch.pl missed it, but agreed > >> > >>> > >>> Something simpler might be > >>> > >>> page_pgmap(page)->owner != migrate->pgmap_owner > >>> > >> > >> Yep, I had that and dropped it, the four clauses made it feel that it might > >> benefit from a split. > > > > Right, the mixture of && and || is confusing. > > > > > > So with the {} > > > > Acked-by: David Hildenbrand > > > > Thanks! > > > > Thanks, I can respin it with the {} as needed. > > Balbir