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 C0E81C4332F for ; Mon, 11 Dec 2023 22:21:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B3D26B024B; Mon, 11 Dec 2023 17:21:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 23CB76B024C; Mon, 11 Dec 2023 17:21:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B6D16B024D; Mon, 11 Dec 2023 17:21:19 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id E7F476B024B for ; Mon, 11 Dec 2023 17:21:18 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 89FA8A0502 for ; Mon, 11 Dec 2023 22:21:18 +0000 (UTC) X-FDA: 81555959436.28.F7E8D7C Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2040.outbound.protection.outlook.com [40.107.237.40]) by imf30.hostedemail.com (Postfix) with ESMTP id A6D928000E for ; Mon, 11 Dec 2023 22:21:15 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=gjU3jIIQ; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf30.hostedemail.com: domain of apopple@nvidia.com designates 40.107.237.40 as permitted sender) smtp.mailfrom=apopple@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1702333275; a=rsa-sha256; cv=pass; b=q7cdMcYpAlqECV9vA9nQtuGHH1/F4gaKkf9XYH9GrTCumKB7ikGL3fnLmlgP+rPSD4e/Y9 LPUfIME8QVVzM0peXZ/qt/nuD5GBjeM2F6GAs/iqQ9DicVjRbHOHQ4jV2013nNs/E8SrYV /BLJgDkSL+1fCCXvS/A3OtobM9OZ8pA= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=gjU3jIIQ; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf30.hostedemail.com: domain of apopple@nvidia.com designates 40.107.237.40 as permitted sender) smtp.mailfrom=apopple@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702333275; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=JRQpwdqZYzxsnWtimBBpEkJBIRSjqGAGsukHOQ5Rk8I=; b=s+VlhsRZlYRXPOTqvrkwV8CLaklspPgxFVoogeO+E87o+affZQ0qTG1spLmdqc1U2nFLin F9GdTGKGrBvnGQKQmehkj8lnfW6oBCmAA7MikfM37cTG1Qg7ZCGnz1ipRGjXIrSdAt38F1 YprI6Ujt9/9uFD+rLgVE7R/PUxr8whA= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AU3PlouXrtGjm4nihhfqgLEUzhaHzwuidV/+UQ5p8RUKXMJKyVyhJ4K5M3S/NMZniDUPqU63HLu19GixBnF4AJu4m3kyxteypkH/TT8ORiRlqilWYW28PXSWzwNffoZmKL9FDN85xFFVHoYSpoYL0bcjJJXPuRGNSIlRJ5nuOpzS31Jv38WTT53ynzGyU0/+t/FXFhFJu84xzU0rBEZtuhkxn6cl0WFup5SktFBhMuXVAlft8XLKvEFWkOmkZf9ofKbefGXMDfxXTCsboZBl4x+HGXAh7C5DIWbV/1O84qXtdisyHU1iNaO/ny8GLOMIqdxSjhxPWPQ7G01Q3s9apw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=JRQpwdqZYzxsnWtimBBpEkJBIRSjqGAGsukHOQ5Rk8I=; b=aBXk7ZbC0YihNBRAypmaWvmy9RArmTPhvIMHJkUzrktakFvBOS/LI06Q6/9Eiffk26uipUHKpNYc3NbAieWVMIg/ilH+sShX+xUXe72R0IgFAxKOClrUtQk6+2P+bHU0SqSOJ+g1+iu+ZQVrUWhR1oVhFfBbVnPzoqt7KDtlaNacznVSCp0i7HGBuamB7A9TbR4q57/ifJcZwelXzZb3wflAtocJxtwEM1nnCYLPGx6YUxSeiUQ6WQk1+TmuikSqLOVWJPVjlfx4B9+xZ54bGolC4Tb1mxb/YRZE+n63VV8B+SuUxG67U5e8wbAGgoxacV/Ua/vZGZIirxPqAoLXUQ== 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=JRQpwdqZYzxsnWtimBBpEkJBIRSjqGAGsukHOQ5Rk8I=; b=gjU3jIIQksl5NZb7LMY/u7J1TtT/RMa8v+zTvtC4dQM77h6CDpRdbXTYZ+shoefdFx5BTBeS/1v2uvUm/Z/F1LRmy9C3xQM3eFAmmkZFoBOF/7FHsLGvZ2C9kLPry3VD7AIMN0pywUnZ4aM12zLA+MiOIr7sLiCrirCnTeofrJgOivj9Dk/AxaLxhmpHZ1YAdQjQtUe2rA+RsD7qltyaDF/DU4WH0/ZN/TUHM3jCAj+MQm/xQUMvG8OZ4xR5qd7DK/kVgEP+LlDftov0RQIk+vpDQL4VKSxf9rPttYK1lXaiFJzXvyPXQzd7JRDEyrZFDX1q3H0dmjtKCsCp+agL2A== Received: from BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) by IA1PR12MB7590.namprd12.prod.outlook.com (2603:10b6:208:42a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.33; Mon, 11 Dec 2023 22:21:12 +0000 Received: from BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::b8a:1b58:1edf:90e6]) by BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::b8a:1b58:1edf:90e6%7]) with mapi id 15.20.7068.031; Mon, 11 Dec 2023 22:21:12 +0000 References: <20231211162214.2146080-1-willy@infradead.org> <20231211162214.2146080-8-willy@infradead.org> User-agent: mu4e 1.8.13; emacs 29.1 From: Alistair Popple To: "Matthew Wilcox (Oracle)" Cc: Andrew Morton , linux-mm@kvack.org Subject: Re: [PATCH 7/9] mm: Convert migrate_vma_insert_page() to use a folio Date: Tue, 12 Dec 2023 09:17:25 +1100 In-reply-to: <20231211162214.2146080-8-willy@infradead.org> Message-ID: <87edfse5yk.fsf@nvdebian.thelocal> Content-Type: text/plain X-ClientProxiedBy: SY6PR01CA0048.ausprd01.prod.outlook.com (2603:10c6:10:e9::17) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB3176:EE_|IA1PR12MB7590:EE_ X-MS-Office365-Filtering-Correlation-Id: 69c0b912-7b06-4a90-5528-08dbfa977b55 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VPwAwICi5Jb6j2K1BB0ms4cqW4gShD4xxXqfpGq3qag1nC3Y1KG1HG1uZR4M8NiBCul+a9CDUe+VL9Zj7x6wADkjMCMoMpV8DDQ/zrN4uk2M64n4QhlTdbGwsJM7dIcGt649XS3L/EXppn3EtO8rHOV3GbVfqwXeB65hzNCLPYbZXWwg2kYpOTDDEOQrJYZGSTZOwTf9pXkVLHfw0WiOuSkeGKiE08DdUXYuFmh6aeRER1YmpanzatJHiQ+466lJtY/VeJj3AgZhzCZ3TBy9UPnzoDXHKmsSPMSg8APqP59XVEafUGDxXTueHq5kdpRnX9BKW8jMcinvB6DQTCoPEFZzOCJFZwwJDGhQfRB21VfqfIKa0xhil1fdynqvu086ciev4DN6dg6GvXmEN52/Un1mprf+WksGaXGcz/Mf4dmz4NDQJ9kZs9aPIyueZkm/lfPUSexQkBxyP6FBDFh/uc9b14nsVylsG68bFqfPPw+LoUsy0OmSzl/nGBEpZpxsOGLePykt2cYXF52IW7dXaNJU79ZSd+wWeeQvajWp6wyXzJI7nCqzeYPlcZj2/4Gl X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR12MB3176.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(376002)(346002)(396003)(136003)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(6486002)(6666004)(26005)(6506007)(478600001)(6512007)(9686003)(38100700002)(86362001)(41300700001)(5660300002)(66476007)(66946007)(6916009)(2906002)(83380400001)(316002)(4326008)(66556008)(8936002)(8676002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yIal835tOdVCeTwMVYxpTGEePqRr5d5Xldq80UY7BBjwCcTj+FtITkLNPbhU?= =?us-ascii?Q?X9tptuVQpB1Q0nd3of/G7oCWyatbbXtBXPnfJEVqZ1SPgbZ2Llk2TJ8gp1o/?= =?us-ascii?Q?4HIl4fwvVd84afzlygL/yqZnSy6aXmGbncOIkS1GyCvxlVY7uFUdrRqlWYvq?= =?us-ascii?Q?uUbOHYm1r1otGmvzGKgwwwPcccIclipGD2e3zuiLwWpeN6wjU6gMuZaAAuoW?= =?us-ascii?Q?IFWwfLwAFz4xk0+tXM/cJQfpvl7uqBvJX30kj265/qRjNFzHIIiSrxoOSQdc?= =?us-ascii?Q?aqujCd3utRz0qE05WtI1d+RExevRAEG3xAbjGFkfXBK+yhcWF01vDOBxQV68?= =?us-ascii?Q?KwffSgv72W0BTS/PbL7RzqglMPFPttVSizok0ZGJsvtSgHm1i7FX8lFmTI4B?= =?us-ascii?Q?eQFPkt4soR/yR/xpR9okJSyuBx83UJnzwq4RycK3axPXmKkFAI8hLbe3wfX9?= =?us-ascii?Q?WiqwkQxTTnnxmHYJYsRqGTTRvIR2O1RGHJoY9kOgj6nvAka4alJuu++HKdAg?= =?us-ascii?Q?BaGgTD/zZKNUvhFSqva7LeVcvFEJ0JNhvMrLVnaaegbrsAnq1yicc7N8YLs/?= =?us-ascii?Q?YUyUFjFmu50pdELsr/aPnB5qnOyOItITR6TncKAHVdLw4HEfu78kapvzNC3S?= =?us-ascii?Q?iiDJdD76ovMhYA9Llb6yF0NbqZpQZX+m1+l6ATpLMRs3B1zxUAxsPdVhCNFH?= =?us-ascii?Q?l3ephxfy7VDv7MPaNRDtFhWAjD1dF/S/tprDpoR1K+vqsmI3gITYJp1BjM99?= =?us-ascii?Q?n2V8cf9X5f+gqHBOFmXa89AZnat51vI4nIbAnoiqc4F5negva83SnHpqL8L3?= =?us-ascii?Q?lNXDB5Ht2Rnk4+VIbVu/GplyrmbLDcU00PiSGnLeSWj/uIBxsNh55poN5bMw?= =?us-ascii?Q?OiF5/OoCt+txz29PzitEUNAyviiIHtx/xONjStHmoMhyXYAsYhePZycL+9wh?= =?us-ascii?Q?wDFAyn391rxyv3DNrgKIZcJtkAucbNRDNgNJuTPyzdsotM8w+a5CfhYjSre+?= =?us-ascii?Q?SZLFZL5Ad95cICgbP8s8XtJG3xuzLPBsl63ngEsadKC0PouVnEKrXZlIW9RE?= =?us-ascii?Q?sgWp/eOHcDSbt2sCefkOqmCZHknTrfsdyrGZpLh5Jl2sy5BRifzgre7Tm+YM?= =?us-ascii?Q?nwy26NqiU+Jzg8c6inomMdA7dTarJPia3sa1RHrU9UK1xWuYBaErMNH6JVSe?= =?us-ascii?Q?8+/jzhLQqomeFTEgbICj6zW8eGrXSHBhcnOud2RojEy/nt8mL3xK6vKp0Ozd?= =?us-ascii?Q?r7GOjIISrov4gw16UGsawNS7KMZAJLCpOcOGnrGK3HQBjoWjP8Kq2Jp0AcUR?= =?us-ascii?Q?Dg8niqiqF+K0AVBlwHvPdhY+TJiwovG/0d+5OtASjnMpZQ3B4PvxOkLz5N/T?= =?us-ascii?Q?79bQ57Ll0BZi+KJ3qhebc5wSRGyDsBWV59DGf0F53j8jOGgGWHrOR3h+7BVc?= =?us-ascii?Q?xUJ1a9ik8Khpd+fKOxZpEyFCnDRyiR8Pk0jhPFLweBUqJpUdlVErdGH82J5S?= =?us-ascii?Q?im6MAy3T9PEw50Qw65c9LYO9Ggu/Ds4slKDEI8XJCXzpkKz8NypRCJ28MOi1?= =?us-ascii?Q?AHQpX0yPU7nLlLusz4iK3BJ4pab4f0TIxR0flKcG?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69c0b912-7b06-4a90-5528-08dbfa977b55 X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2023 22:21:12.0779 (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: l5fg5zx83QD0Zuy4oC2fOK0I7jAh6YqP2om34QXT2Z2QFtFetegy29U/QtmX1hcRp0Nizm0HUFR065NVEO53FQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7590 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: A6D928000E X-Stat-Signature: 8hyr1x5m7iixrhpgd8pkmtdppo6jxonm X-HE-Tag: 1702333275-104613 X-HE-Meta: U2FsdGVkX1/8lct9TUEvNlW7YxsKgugPjsAgOp/VephPjppmkb+VuUHp5FWLc0xId/w1Z18cDE0KY3tMLx8lub6jVJSEW5UukU6suBpSny8MS4CMONac1nNR/BE2vBlRWF9yfzEGk4C4Ob2oHrmeaQ2a7w6EJlB6+MUIJpvxU6K5GWinurJn1LArbZz8oB3H1eGt+fZxg972bXzUi9/mdqn1jTa69ovtMoXUpSS3hlYWDJxsB2v4lZpwreN4RmJjgxH9R2HukJnMpT+D6xH5DWY9peJhy9iGGRSAdJTl0Uyi9iSyaOSivYOpgn78Qq3s8jItXk9aJehcnfk8NGs5H7M+GaUIMwzHw/YDAwxv8HG4o3CP6VPWdFME9NjJIO8NeH7AZtJsFJ28UFzoVyD5wbR31DECvSlz9m2Ary9ya3kZI7A05rBTkGo27BZPFqyEBMbDgbfhGBq5CcY8oBKVP7v6Trhctha9Eb/AxywVEBlsLQ/0G3zeD1vTqkn2EMT9mwAl6zz3t19OK+LF83H8K+uL23lOiqUb38aVXK3pxwVH4Wl2DXtH29qd0I+03hgYBzQlrvEKfmYHhhLaniPK4U2z802VLmvq9GArk2M7HQX1LyPqx7dA/emgqc/4vnTjcLCZRYn9dhEote/WR68/IllCFdui05eQMzvYv7l8xzGH4+53vHJQ3egwMq3iRSGwqgol5jStsNli3tlOHSVzVrtBkhPBepxudNkCk+V0HE35aSE9VROpG6kFuDNIL39T6mkmRFs1JzWwufo4BzsLPohpf0AGo27cAyRyoVqXyWz+njzjxqzHFspf29rmYmX8ouEod6xbYIsyb9/HsEGaRdiTKZN16czbIueN+OjClebiLPcghcqBJedbUuwJXaMBTbOJAu/B7CHZHZI/Oq//vwnV49gEMuqYu0o+yVigsEY2Gie9O76BeMrTOO8T+IiiQx5iuMmpxQdEDsmlTTY tXlcj6Sl ZMgK4ky+Rjixxmb+fF6Ew8WVV4DvtDFwaMP1/W30Sv0DJMaP/HMJ/Abq4ai06OlBEG7AMGhiwuZBf2jSfMzjJcXmMdMBbD4lMJ30F/qCBAz0llLSif015nduV5X2jnqZCRrJ8Id49Yx+MOWiVGW2Zpj8fRNwTQ80vU3b9DBVi7NtxM9h9mOmtGOHPLbBiKFLUNu9tHdSEqjT4iuaSrRTe17gnv2l/GSJTYLyDPrLDifvVX956x+Ab9WsREA== 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: Thanks. I've been working on converting most of the code in migrate_device.c to use folios to add support for device-private THP migration and had this exact change so feel free to add: Reviewed-by: Alistair Popple "Matthew Wilcox (Oracle)" writes: > Replaces five calls to compound_head() with one. > > Signed-off-by: Matthew Wilcox (Oracle) > --- > mm/migrate_device.c | 23 ++++++++++++----------- > 1 file changed, 12 insertions(+), 11 deletions(-) > > diff --git a/mm/migrate_device.c b/mm/migrate_device.c > index 8ac1f79f754a..81193363f8cd 100644 > --- a/mm/migrate_device.c > +++ b/mm/migrate_device.c > @@ -564,6 +564,7 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, > struct page *page, > unsigned long *src) > { > + struct folio *folio = page_folio(page); > struct vm_area_struct *vma = migrate->vma; > struct mm_struct *mm = vma->vm_mm; > bool flush = false; > @@ -596,17 +597,17 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, > goto abort; > if (unlikely(anon_vma_prepare(vma))) > goto abort; > - if (mem_cgroup_charge(page_folio(page), vma->vm_mm, GFP_KERNEL)) > + if (mem_cgroup_charge(folio, vma->vm_mm, GFP_KERNEL)) > goto abort; > > /* > - * The memory barrier inside __SetPageUptodate makes sure that > - * preceding stores to the page contents become visible before > + * The memory barrier inside __folio_mark_uptodate makes sure that > + * preceding stores to the folio contents become visible before > * the set_pte_at() write. > */ > - __SetPageUptodate(page); > + __folio_mark_uptodate(folio); > > - if (is_device_private_page(page)) { > + if (folio_is_device_private(folio)) { > swp_entry_t swp_entry; > > if (vma->vm_flags & VM_WRITE) > @@ -617,8 +618,8 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, > page_to_pfn(page)); > entry = swp_entry_to_pte(swp_entry); > } else { > - if (is_zone_device_page(page) && > - !is_device_coherent_page(page)) { > + if (folio_is_zone_device(folio) && > + !folio_is_device_coherent(folio)) { > pr_warn_once("Unsupported ZONE_DEVICE page type.\n"); > goto abort; > } > @@ -652,10 +653,10 @@ static void migrate_vma_insert_page(struct migrate_vma *migrate, > goto unlock_abort; > > inc_mm_counter(mm, MM_ANONPAGES); > - page_add_new_anon_rmap(page, vma, addr); > - if (!is_zone_device_page(page)) > - lru_cache_add_inactive_or_unevictable(page, vma); > - get_page(page); > + folio_add_new_anon_rmap(folio, vma, addr); > + if (!folio_is_zone_device(folio)) > + folio_add_lru_vma(folio, vma); > + folio_get(folio); > > if (flush) { > flush_cache_page(vma, addr, pte_pfn(orig_pte));