Message ID | 40c47a3f2c613a2d13d1b073e2ec77859e5fdb15.1742099301.git-series.apopple@nvidia.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 AFAEFC282DE for <linux-mm@archiver.kernel.org>; Sun, 16 Mar 2025 04:29:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E0E41280004; Sun, 16 Mar 2025 00:29:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DBCF0280001; Sun, 16 Mar 2025 00:29:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BE9D5280004; Sun, 16 Mar 2025 00:29:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 9E030280001 for <linux-mm@kvack.org>; Sun, 16 Mar 2025 00:29:57 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 7D0431605F6 for <linux-mm@kvack.org>; Sun, 16 Mar 2025 04:29:58 +0000 (UTC) X-FDA: 83226136476.11.BA31C59 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2087.outbound.protection.outlook.com [40.107.236.87]) by imf26.hostedemail.com (Postfix) with ESMTP id CA084140007 for <linux-mm@kvack.org>; Sun, 16 Mar 2025 04:29:55 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=ciE2N5GK; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf26.hostedemail.com: domain of apopple@nvidia.com designates 40.107.236.87 as permitted sender) smtp.mailfrom=apopple@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742099395; 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=s+S7Lx+3yaZd7C+9gB7O+ZdHUwZpN9rSDyBW0GV6rHc=; b=4as78x5M1hVgMNMzsC98V2NAYtLC9wYeiL9KRoyaTcKH/YUYuNqXDZBXGqLHu9Pfpf4irb +cgqzjAFU2WMb9SSSCVrzIXPPoUmYiL3pFNwBp2n4U2+KSNW/3FUTj2WpRwwy8ObPNRb9N Epxsuh6ORQbiD1SY2h/oclkm9VKtu+E= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1742099395; a=rsa-sha256; cv=pass; b=CRZG5iBGicT0F6vYvi3GP6JrJHhJ2TlOvdVfo3vNTnvSSV9Ch9nKupUPNKJhm7Ox7f2Zsw 6Ldq3TvCaSqm9TtixakGlR417bo5Oj0d0t9jCHrvIIOmj+zTL2q5VSVeD92TQmnOaJRf/a mq57kmYxeUUuHrrojHOETiobgOk8tjo= ARC-Authentication-Results: i=2; imf26.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=ciE2N5GK; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf26.hostedemail.com: domain of apopple@nvidia.com designates 40.107.236.87 as permitted sender) smtp.mailfrom=apopple@nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WIQRYr719Qoht3TgY74dn/lMFY813Hy7RtaPtwbPEyMqo5Yuqho1/XY0PtRXyYqZCmR7ktddZKhRWWv/ulMs8cXOhpU3+xZitevAcx2+RSijk2AP/qnMdb6hSRy8roj9+40OAvhTxol0gsw4Cuj49dEu10x/i9N+rbXPvK/WGO+N4o93z21lNSS5dItv64j15QfB821g4ddEWD5K2I2wo5kUPtuEi9oCTG8MzpT5OdWduOMpAP0X6BbuMQiUKIX6FwjH6UupyX2ntN4/8o7dqgaa1P8UtfgRfpgsAvTHxvytDG92YYOMst6HdlXQDVCyd9RvSpOs/5ki3BGuNEs/dg== 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=s+S7Lx+3yaZd7C+9gB7O+ZdHUwZpN9rSDyBW0GV6rHc=; b=OtDt0qvjdr7/ouf+EkN7ccDPenK+yl3lcLIB8+//i8/1TmQCo3PjsLKC6hMen2YrfvRIrHAtwN3iuKmZRMWTxQu2To7mKsEYBF96ftzzbxI5GCn5h9S3uLjpnx288+r+/8gsN+Omx5AZ6kM5EVQc99RWNIhYbKgT64RJaemEfjNFcjdy5ccOZmsHvS2LIRsxlQiwntlsZiDalHllUyXm2tmDsQjVf7hlVGyCYd6rlzJiRsABDihdKUxjH8p/Z3X5FOI6N+/7eOd4ECKk40UdTv3X5XZYklcal7lykLNU8cMuLWTFftOTKaEp+tBfA8iAKz0Fc6GXnMTsZ7daYQg9UQ== 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=s+S7Lx+3yaZd7C+9gB7O+ZdHUwZpN9rSDyBW0GV6rHc=; b=ciE2N5GKOWIoljw372eYNzCYacOKeMs2OD2GikngwQ/wo2EQfzE07EAlnxHX9kpVbJp1TuQuTPIBYCxSwlJVqiCpAzO9tuoBJKupO9hP132VcBh6tQ92sESZRpE41ttcF0Xywu5x+b2HhLNzdbh2ac6wvyI6NVJka6cWjAw9lJICb/msLcPWg+rUxWTLSUd0pnOvSf/+jVg9J75iVLfOF2wsyiXIU+z1xKWHe2eQ7yTAuPtn9EZYuij+zzcGHLx13zxvXzzl/uuFMCNExp80ORk84U7BrCnW2lS/d7qw0Ifhs9s9G/saDf+BWF7zZMdwN5/XAfr9LsPscuRy1t9VfQ== Received: from DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) by LV3PR12MB9260.namprd12.prod.outlook.com (2603:10b6:408:1b4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Sun, 16 Mar 2025 04:29:53 +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.8511.031; Sun, 16 Mar 2025 04:29:53 +0000 From: Alistair Popple <apopple@nvidia.com> To: linux-mm@kvack.org Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Alistair Popple <apopple@nvidia.com> Subject: [PATCH RFC 1/6] mm/migrate_device.c: Don't read dirty bit of non-present PTEs Date: Sun, 16 Mar 2025 15:29:24 +1100 Message-ID: <40c47a3f2c613a2d13d1b073e2ec77859e5fdb15.1742099301.git-series.apopple@nvidia.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <cover.24b48fced909fe1414e83b58aa468d4393dd06de.1742099301.git-series.apopple@nvidia.com> References: <cover.24b48fced909fe1414e83b58aa468d4393dd06de.1742099301.git-series.apopple@nvidia.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SY5PR01CA0031.ausprd01.prod.outlook.com (2603:10c6:10:1f8::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_|LV3PR12MB9260:EE_ X-MS-Office365-Filtering-Correlation-Id: 86b9fde1-c5d2-4283-7ef6-08dd644332c6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: kNW3d+cEq6FYHKGsZ60aYFkQ0250isS4nUSZVUff2gm1NToPMxS+firzOJ+mPf7y3w3aaGqwgj1XyBzgu734RyrJyE1SihPTGkqc7ibIZIVHXrysc0S30dAw5S2w8fJ1R5b9F3poozmZG89lGRw9MoWABP1a2JnU4qKYKDJmFBBzOBFZjGfPKseFYdOHZcbF5Y9lzYxoO1SSwGtXj9B13IR3QRimGzxxyjyG8/XTpLwOYEcvM2Th/jVSddH5L0r52nsxQvN+cwdyVNvB4fAxE/iRe6OdeWF24ytKKtN5Idf5efFLKCOYtZdlUAopsRkCwX/aIsZJLpxS3aqqt0nMTVdrmJ5HnA5OyOLyObl/eZzcWA1dnqPsEhGV1JhDC1/rq29/OZyfc8ImQHZvmm+vdM9a/1rJcnyJt0J+exwL5ghThQmgGLb8QuvSZYNG+JYyZN9xw1QO+PQmCxUQmLj0Ti2JCvsiX5co2YwtFlUVPVA6SXuLh3i1eX/dpoCVtA2rFCe/tAnAOCUfsP6d3IC7vjzL7fWw98PgrvPlwPmgwLWmPrxYl3yG5OC3w2wzHE3OSwrgyxgH9FEbxnmEgZQlXB4eexN8X4x11VqhLL+ElCgT4RnVpubN/OZAxr8yZV8sb6nWOySU6r/RvxU1it5lx0y5+zWAx0LtEJue2S8ht6aDp6iJ8egAccdT+fsnykbrAteBa3959ST8yPznI33aH4NqTCNmHgZFCSbrBOdYpNBYERjWUySabmB210NFlIpQk6mVuMdaiqXusTz4qzxLEEAVzT6M6y0HknNmNK1/5rTMlALyUVtelwJfJWoTvX3Pu1qQx5hU7gIHgLnMvkuRhdjETer92X/bXt9kdsatSUCv3lvAoWQHA2j9VJMIKvrl2D2L6qbvpwZAjhMwMh7Oq8NH5+Bf2081pRXZoeVWmntT3DioX/bSogHi5GRw3okJF/40m2yjKdgH1p57ZBEeQ5mQ/+1zHaXL3wO+a4x0q5SyV/rsi646AHCejqKzZffhmGDBVmqdgdhZaiUKDf3a7Ytl/TkS7t+Tb3+hkUDnLH16mwj9xlSy0kJxhwF0g/+KRBHQJ9X5GYmSoZ9sC0HW8W9gByaYlVeKGwxBsxiHVw6InddCeglBPdiNkjscaxnt7ZitRnfLkP9MkEzQkVQmJrgKboN0eMEg6mge8CMXwSZH4+YMz1LnnP0zTKS6pmNqBfKX/pfbHCTqQHyq5aN4xVBLMgRoa66F4fxRmZAZBbjvh4WU6HMQI901ePtA/Da4dGyQBVWuczG1APP732J+bi2LgoNYpfD39+d6/1SvbyhQomTTKsAHA1QyUNPtTDJ4IH0EgqBbcbEClDhCBj+wMIDwYc2QMFdEVnJhfrie9epUz6GvUDFFfNNk+CDTZkXK 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)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: A9HpIbN0jvNM61Mo7VjyGSk1QTklne+eqbQ2Z9SL9O/b+qCj3TQOimbZD6HbW3UtlCZWiVZApV13JLrJssjyu/vssTV0GHaDVMGRtNnPl4XgpHOruGSVdEgkYI81rVyPEGXffRfoBEfSy6jiaYzRbVb5OqYUgf0TZz3lD48nuax3BTvvNnVhgYVqZKX7W8YCEs0bpAuQTx1TNBSjzi28uXsQHwG/s9CH5DBuIxAcMm7a5UjYapKcPR34NlNfww/XIGFhI6noMHkhELdDy98F56dMAGPARA10FQt9SYCMHTJRf8SrzG/s3mHubbaLzjR8yTrD8iW+y5C+rGoDOlXRTPr5csP0U71uZpPy3IFsp/Ibe+KB+RFn/fkdwCkXXPQ46GXB1a1RTgWMkRyjXBTo/ZZDSmhe8ByYL/TRX/nHHr0g9lRO3FQXlIU8FwAoOBo9VOli8Wz9bTCqwWqgvILVhqVsLY8Wd3P169kNx1V4yCmghl99QMdPxixl9WJkWDhMh35OTqOa1DDBH+DH+1LzQkRPhB80x5JxC4W8LbpgrBDcYcCrAgFsTNSaWIqFaHAYRrROeohBKWVUvjXwhVvSSymPte3f8S/pK/54XRkm8hYhMLoyQloRScORG1YeyIiqLTj9/cKAxy78oncdkJ7MmyPmw/EpJwRtfNc8svY7x+E8jOHABd3HzJJ5PBsHYDXSHTGKigg1yhxK0+TSIiMN0yIC5r5LsCdl98hlk5rSVHUEtIWsSzSK8G2vQrzosEHwCpu+ZX7YFDfvCQjgBpUSxdvp3tN48TxuoOBjQeGy/n7Qyun09DntyUpPej4EMPThP92xBbjYWha3v/Di7MHGL0S23Id6m8DwJ0J8q8TG4llL3r8axp3mTSdjhACX44dkTu6EO6vJbbbWvl0fleYHsKaGgpD5Bm+dy6UUFnCW2/4hYdAYc5AO76AQYUDEzXP+GDnm3zF8wBcjI8lXqLtgaWESa1HaSV9Tl58f5fGnpMcj7M/BCPRWzAg1hZl+JP+FYqGZTLDM1gUfHsxtDQ8Q6PYrkxjz5h5E0BktoAuVZdYNdUhK9Q1/ECXnIFtzoVgOPeHZRYb8PnJ8Ob7LoOY7gQ7BHJNeTvmSNHER5zhfGSRRLnIUBiki75+V0Cy0xPWnGxd+aKozsvLufTK0mxIVNGuolwQMe4Mm1Ha4xulO5gaxatpOUhDiD54uaCz333H2wrn6fX3xMRDR5ggtUgfT0Ayg9KHyb5WPoXQkgXKzlD0vohZGQvGuSE5hkBrnla9wUlUjCmgj92Dnfq7nksOVZruqeaYwZjeuBq8tS0w+elyyvzfm6aVslW1Nqwv9VUaFLEXNajwLpkfLzSZBLZjN8oeN6NBkOjDz5xmGeQj8WK6N0PkjxZTkghdsme5yBRTDrM8NwyqW3bCYVxt77qXK0gI5pyiBh5gWnnPfOdeODk9Vs3h0SvkHzbjvhTC62G1vC9gBQi5W3oOyQvfsk64E2b/q4sSt2OyIj+apyLzF4hsoU394GFsIvMdAu+yinWuyKN7HYGH9bPxdZGE9e+WUqi0mAfLExgQ7yyfCHyvrdm6zNVg2ebBd0QRJwCpewr35 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86b9fde1-c5d2-4283-7ef6-08dd644332c6 X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB7726.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2025 04:29:53.5056 (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: oCKrmeTffsYKA7lYNmXUzbIPOyf78D2TQ+q2oMKM7YZRgBy/sz4bFRkHLA62b0ijiaCkwiZNrdeRnWAILq2KvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9260 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: CA084140007 X-Stat-Signature: i7qhfxpmtqoae5z9courdp441qxkixzw X-HE-Tag: 1742099395-652390 X-HE-Meta: U2FsdGVkX18pUmO6jdahTBhUJOGhG+9F/9wacjrDPiVG7nSIUTpc3s90VFMIgvNlX0xAJ/K0wQO0rzirM8h/tbIptk+gBCLwNHksJjFUeFGnx/tZEBy5j/8Asw/J+eVhapbDelX+qB4QJl7kemHS2UFqIiVJlXHvl4eb7RjqQ5chJYurexuTYGZGsRsgIXinNIBpUqH1Vy1eHXva+YOe9m6uTlOggal15/6C9Mzn49dM5haGg5vne3hytnD13V4JHJICPURMT8H/tZjzDPwA7upOagf4rCvtdsMHYs2dSk8ix8Zk/dzq49RL48/DAvWZYJNaLvVJt+RnqAMgjQJcd6DbfRG06lYSsGVh2a84ZR8IgCx62cg6G34xHMI5Wju636zUIYJ6/YA81F5i4OhbVp/AZ6XzvLUYCgmDAIwZKwUamgupCD67G1yJZ47cZByxqrWEQVgzgheh4Gj/i74hJhzQ9dFc3OiBfSpIihliG9blp3/YQ0KzJIEmwDXsxbbFcAEX2kFnxbH/TzNP/f4OP1wAPnxOP8Nm4s0/gnQRtfGMacoyZLLr5d3tJxnPbyph4DHyjh0GmEDbBBKS+tGaI+RpJBB17GsZJbKeyRlgiECPncqyLvOXHrD5sHPcxw7ej2Hi2dkZyrmt47kJQFBMHLXwHTZqxURH0fngP9/h7XXEyv0aanjQdE9+SD/UsxomZHJzoTvW7mMKiKQhYfOVhBzpFq3GjbDf+n+1UVFTcW3WvJrnUlNizjL3ow2MKQsn3Hja2qrrtaL5rZMvDYFp+QuTqA+Yn/pqF5lOk+KabzeoweykbbcheOA3coGDbi0JGxLbmQ5UoqQkUHIhYXjaddjWqej1b3GeMF4EzPHxXFZ8ANIeqsaV6HHcoP7iV9FeNg738T5d7l62CKwwHVRrq9QTsVCwO0e699nEhq8HV4tXbVLuciV641iC5r6eA3O4bXfSklQ51e1Xc8JGgpQ frVV7wgc qvoAdildfrm1yqk5+4driTtgQYJ2ii4vNL9Rr/2yrsloHmDL77F2HrcSvy/PkwoHNvxQbRioNPO0pIKrt7EujzuLE8KQjx8CdUjxaa643x+abWZ1IHUzF9qgw6agE/5l9be1UGIjcb7CcSQRDoymVoX+ZtrDf//im6EGYDW03x9tHL4P/+i8jdazKSKrfkRZwsOQmZ6gOSt0R4Qk+xT68v/pAa5ylINhzGYkjD31nnV0uc7bntHWeRX2fd+ZRM8gVcW6AyPe1wX18b02cPxbfPIM6wrAs6lQwkQj2fAmv1D/+fuWiuQqFDo5E1Ql8iy/5jR/WTS3D+Ad7lKr2CYvhlLtOH7QhFb+4G0hbihhx8rJEkbXbHzo/fxwhofbmniWqb/TO2c+5J1I3V3rx1JSbKZ4VXgCtCrKxUC93GRtXo4CHYnQ6st/r2AO8bw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000029, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
Allow file-backed or shared device private pages
|
expand
|
diff --git a/mm/migrate_device.c b/mm/migrate_device.c index 9cf2659..afc033b 100644 --- a/mm/migrate_device.c +++ b/mm/migrate_device.c @@ -215,10 +215,6 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp, migrate->cpages++; - /* Set the dirty flag on the folio now the pte is gone. */ - if (pte_dirty(pte)) - folio_mark_dirty(folio); - /* Setup special migration page table entry */ if (mpfn & MIGRATE_PFN_WRITE) entry = make_writable_migration_entry( @@ -232,8 +228,17 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp, if (pte_present(pte)) { if (pte_young(pte)) entry = make_migration_entry_young(entry); - if (pte_dirty(pte)) + if (pte_dirty(pte)) { + /* + * Mark the folio dirty now the pte is + * gone because + * make_migration_entry_dirty() won't + * store the dirty bit if there isn't + * room. + */ + folio_mark_dirty(folio); entry = make_migration_entry_dirty(entry); + } } swp_pte = swp_entry_to_pte(entry); if (pte_present(pte)) { diff --git a/mm/rmap.c b/mm/rmap.c index c6c4d4e..df88674 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -2176,7 +2176,7 @@ static bool try_to_migrate_one(struct folio *folio, struct vm_area_struct *vma, } /* Set the dirty flag on the folio now the pte is gone. */ - if (pte_dirty(pteval)) + if (pte_present(pteval) && pte_dirty(pteval)) folio_mark_dirty(folio); /* Update high watermark before we lower rss */
migrate_vma_collect_pmd() will opportunisticly install migration PTEs if it is able to lock the migrating folio. This involves clearing the PTE, which also requires updating page flags such as PageDirty based on the PTE value when it was cleared. This was fixed by fd35ca3d12cc ("mm/migrate_device.c: copy pte dirty bit to page"). However that fix will also copy the pte dirty bit from a non-present PTE, which is meaningless. However it so happens that on a default x86 configuration pte_dirty(make_writable_device_private_entry(0)) is true. This masks issues where drivers may not be correctly setting the destination page as dirty when migrating from a device-private page, because effectively the device-private page is always considered dirty if it was mapped as writable. In practice not marking the pages correctly is unlikely to cause issues, because currently only anonymous memory is supported for device private pages. Therefore the dirty bit is only read when there is a swap file that has an uptodate copy of a writable page. Signed-off-by: Alistair Popple <apopple@nvidia.com> Fixes: fd35ca3d12cc ("mm/migrate_device.c: copy pte dirty bit to page") --- mm/migrate_device.c | 15 ++++++++++----- mm/rmap.c | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-)