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 1E1F7C35FFC for ; Sat, 22 Mar 2025 07:17:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C13E280002; Sat, 22 Mar 2025 03:17:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 670EE280001; Sat, 22 Mar 2025 03:17:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4C81C280002; Sat, 22 Mar 2025 03:17:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 29CA3280001 for ; Sat, 22 Mar 2025 03:17:36 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 6F94FC1045 for ; Sat, 22 Mar 2025 07:17:36 +0000 (UTC) X-FDA: 83248331712.18.FE0E3FB Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf14.hostedemail.com (Postfix) with ESMTP id 0515410000A for ; Sat, 22 Mar 2025 07:17:32 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=PicpBmtz; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=nLly48Z0; spf=pass (imf14.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.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=1742627853; 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=btVOzJ/8VwheCIJW4PJBWthNFlZGgtIO7cwzhcSqXyE=; b=M7PF0GdgXP90Y19e12Pf57WkApAFk9HNzaaFLQpPSdmiUqY9DAamuLa/W+JeO7/1IL1NSm RFpJKP8DRvd1yfpK1xkks5hkJeqdaNvNEEkxf1auCDkOIJToblhBFsuYx6wyyLWk2rlbUs ZzCfu+N1yR8T08Zh+CNLcayqO7KnVRY= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=PicpBmtz; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=nLly48Z0; spf=pass (imf14.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1742627853; a=rsa-sha256; cv=pass; b=4xZ+OrEO6NPcHpS5cENIhsS1pKANAAW7nPQSP8HCvOiLHliY4k7x5siL5/rT64iGymj6WW oF2RqXx6Ni72M0mdsAaRgyCMkWFmKgM4Vd6md7ATYpfEN4AJkqI9l8iYkiRVO7lhWx4/Sd VpHxdthKEPdfiYa2U0AlsOGWi1Fdovs= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52M5CeNa029608; Sat, 22 Mar 2025 07:17:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=btVOzJ/8VwheCIJW4PJBWthNFlZGgtIO7cwzhcSqXyE=; b= PicpBmtzZ6kw00jIPlLO3PtbFpXTCRZUcutVe9ccZwTk7/ApQec9ubwSEA9mx3tt CiUlEoib8RY9NQ4FMu/2C1Jth8cXv/9l9VopgMOUGnm8lJHicp4mtb79gZA1TmHR wOSk5vqUl7lhnD+N77gSZ0TahfwGCYP3wJYiYZqYaeY4/T0YrI9AVhF8xf53NCQF XkDcc+HtZEaRIHV7KAQPmXNG1cJ4GCRs9RsNl7vQk7dHb2jSVziDZSA9+10P2til IuWf/MHn8/it54+HU8lqqyH9g1in595wZDpmYeFcIUOfuNiO2emdzBWjzWOFjn0+ tLCa6xzIVZ8JbIiHvenTOg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45hncrg3gh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 22 Mar 2025 07:17:28 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 52M79reX026402; Sat, 22 Mar 2025 07:17:27 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45hkncd6p6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 22 Mar 2025 07:17:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uUWVGGjAgW+GCkR+6NVD+aMoYIpXQzo8gpfsUdrNKLSS3kUkgpm1m/0+omHnPY12X1XtQGChbBdIoizKY8CkZ1CnIf/cwFkIO7LqEmve8baL9ZwZXZMEb2VTzFZ8bIXpc4zV2uiMRWVt3j4ItR63lu9u0KfeXeZuPQGsTcjYtBJ1zSo1O5maiVDrFaZnqgJX5f2j+n86zaOvNdkZvnCqlP8j/EG2HgbnoBqo6oj6z3Vcl7lhL5eIpQLEkj++wXjy0VD72cqlvHkYKLElRz2dTNkucI8r8jc2R38zaQdkqazzJxEClQBWShvTswse7+fOW63HZ4vJHb/YUk/4x0422g== 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=btVOzJ/8VwheCIJW4PJBWthNFlZGgtIO7cwzhcSqXyE=; b=sMVwlfa4trPMrhZj5bl4LV4PAjy+TXfFlS2Q6WBXBTW7myNKXrjRAk8+ZRzjG2iOlwHB/UgIhiTr+Fl2DKNwRQhcky9YrWn3cxVwQ/j1/IL66nzunY5HbYIbFmceEgqm0zgbmf9QaTET8FEOSBO1kFad1m3mzC1OgD2SP7pqrJ2+rH1J630Hmw6OVTpdNiZFGtbFMCfPEL8FxH4B1ou9pCtsFwjq5Umn0oC4+XjBk/jjqAN7g3rxad/+YjVgn4sdFn1FiVGYrrOP6gw9td2Ug5p3/nK02GilzgkuUHUYI8ILbD19HcYv4yIFwnCtgME6pH0Ag7MMlglAWAgCHLpnWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=btVOzJ/8VwheCIJW4PJBWthNFlZGgtIO7cwzhcSqXyE=; b=nLly48Z0niv81VGDrMZPdnr+KohCnTrAyGwz0+UBC7WxNl2YYSGO/+86ErmGgrLOz1srXnhbdzMBu/vm195SANVuNqao/k7051izq86kpdYTtN9WO6p2zMH6zQGC9RFbVtvNHMyEFVid7pPoknJMYN53zysPbuH0oqgfHlsNlFg= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by PH7PR10MB5829.namprd10.prod.outlook.com (2603:10b6:510:126::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.36; Sat, 22 Mar 2025 07:17:24 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%7]) with mapi id 15.20.8534.036; Sat, 22 Mar 2025 07:17:23 +0000 Date: Sat, 22 Mar 2025 07:17:21 +0000 From: Lorenzo Stoakes To: David Hildenbrand Cc: Jann Horn , Andrew Morton , Vlastimil Babka , "Liam R . Howlett" , Suren Baghdasaryan , Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 1/7] mm/mremap: introduce more mergeable mremap via MREMAP_RELOCATE_ANON Message-ID: <2bdf7ac4-b359-420f-94fe-466ae98c4a49@lucifer.local> References: <182bf1ce-1b67-4243-854b-4d0c26aae563@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <182bf1ce-1b67-4243-854b-4d0c26aae563@redhat.com> X-ClientProxiedBy: LO2P265CA0339.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:d::15) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|PH7PR10MB5829:EE_ X-MS-Office365-Filtering-Correlation-Id: e1d7d885-8269-4087-fd3e-08dd691197c4 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: =?utf-8?B?T290Mi8xSjYvbFJLRzVQcWpPS0RpQVkvSWUvZWFiRTR2aFJmWDVzSHBYK0R4?= =?utf-8?B?b3QvNHBzeXpubDloaDZwT3p6N2NuUWNKNWYvVGFMKzdHMjFJZmIwMFQ2U0lJ?= =?utf-8?B?VzdOSzhnZnRld0Z4VGtUUHJmSHY1TEhEYm91Q3NVd1duQW5TQ3RiWmVlbkhp?= =?utf-8?B?UkVjU2loQVdwQ0VkNlZ6TXRjeFNlNFA4M3QyNFFnTG1jWm1JZkhIc250TURV?= =?utf-8?B?Vjlab1NmK3RCQ0wxcEV1NDd0NjlpT1E0NjBDempTa1g3WUVOZThPK2dXa3J1?= =?utf-8?B?VjZRTUhTTjdDNithZkYyYTlHTU4vMi9CVTN3eUJsZkVQUjZjRXltdVlJbFcr?= =?utf-8?B?Qldub1pzZTJGUHhZT3ZISHJhRU1qMSs4VnZKd3M3RnRnRUFPc0R5UUlrTWdi?= =?utf-8?B?YzdkYVBGcUtCTGVSZ0o3Qkc2b2I0WVlqMWRnQm1RZ3lLREJENmlsUml1WExL?= =?utf-8?B?anZabTVDTWdEOUNGM3VDWm5vTWw3Zm1FYm9iSlNZRTFsUVRFaXpwaWVpTmlm?= =?utf-8?B?K3BkcFZSWlBFc2lYMHM5d2VLZzNXSVBJNnI0QnRuSXlUTFM3akRyeDBpV2pM?= =?utf-8?B?VGtJaTNHU2JyVnI0SEJIN1pkbXVFNERUNmF6M2hWTzRxSnpCUWlJQm5uM3JZ?= =?utf-8?B?dVRyaUVwLy9rRDR3eHZTbXJWTnkrN2s3dTQ5SUNjZDdMODU2dVRoaFdub1Rh?= =?utf-8?B?clQwZEYva09CM0MyZTlUeHRSeFVoZXhqengrUGZWYnpNQlgraG1aSFF4YXdC?= =?utf-8?B?bmtNdmloVzMvT1FCT2ZJbUplNHZ3M2diVjdCdHovaE1NTVZiQm9OSlMyaEFK?= =?utf-8?B?TFFBTi9FRzNPZStBdEJwTE9kQ2tlZWRzMWFCWWRzQ0dkRjRtdnNPek5KaHB1?= =?utf-8?B?OUVHSFVCck9QTG4rV0J1QjBOd2ZGaWZ0aTVVS2xhbWZwbVBqWFo2MWE1SzNP?= =?utf-8?B?c00wRGFOb2lKbUxzRnQrQjN1ZTdPV210bWt6RFVrTEZtL0E0dWFIYkcwc29M?= =?utf-8?B?SUtrUWgwdnhkL3Y3eUFLVFVFdThVZUNjcThya3ByNTk5c0lRR3ZNdlJPS3dm?= =?utf-8?B?YlN3c0EyT2dJQkV5R2pMUkFicDloZG95Nks3dXVlaXZTUXE0VmdJeHZjUlFR?= =?utf-8?B?R2dKMldGQ0FuRXlqWGhHQ1ErLzlOZDkxUUFZS1pjWUZDdVc5WXlObGNsdFll?= =?utf-8?B?VUdsR0pocmxVN2FCZ1hjVjhzZlJNSVhMKzVHWkg0cVBGcG1nYnlkbndYb24v?= =?utf-8?B?T1JrbW5zNk5NdFgrdlFJMVhSNXA1OEE2ZE9UMnhoS0hONjFmVXBaNnA5cFlr?= =?utf-8?B?SGVNVldDT1p6eGZpbWRBVk85eGV2eFZ3SHl1VFY1RGxwbm1QR0FUTml4N0Ny?= =?utf-8?B?dlhkUDlXbVMrL2FIbDBPMzNMOXhscUZsNVA1aTVkNmNDNnlYWm1MZ284ZGRz?= =?utf-8?B?aWVMdENSclNOTkEwMXZaVEZUQzU5T21La1l5ejlhQ0tiUktFbGdqWXYzUTJz?= =?utf-8?B?NVdJdVpHT2RtT0RTYmtMcFdsUk9hYi9lNHBJSGxwUGxnY05JaTNYbFRvYUZZ?= =?utf-8?B?aXBOVlFDRjE0Vi91eDA3T1QyckNsc0VwbjNrZUkwdWdpVnFoN29iMXdzc0JS?= =?utf-8?B?WmFRU0dXbitGNk1Fd1BYdldrRnNsZDFSZnM0L052UFVIMXIxMUJ0M2RIY3k0?= =?utf-8?B?SHJSTWMrRDN3dUErakJya25xN29TSWpTRGFsMDM2OHpOTmRQc0drK2dLdXJO?= =?utf-8?B?VDdnYU1odE5KWU5Ndnp4K1VrR3piV0pwcE9ReStzMEU0MUJ0YWsyaWw5VzNk?= =?utf-8?B?SmpJYjM2TzNDOURIdFdJYzRrNmFmZE5LZ0dmbFNaMXljVjR0QjhzeS9RRWZn?= =?utf-8?Q?hi6hqsZ8idKiA?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.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: =?utf-8?B?WWt2dlBaak55blRCSzVKYTQ2dkZmcWp3d0U1TFI1N2VmUEZybk56ZlVIaGlJ?= =?utf-8?B?emVUOTdzRXFaYWIxT0kwSlhRWG5vYjM1Mzg5MGR4Lzg3Q3V4NkQvZC9vTDRp?= =?utf-8?B?ZzFGSjhVOU1rUEhEZng3Vmh1dmE4VlU4V2ZCc0x1dWlVbVN3c0JhbnBZMGQz?= =?utf-8?B?dTc5anNtVlV3WGIvWGlwVXpmWFdWUUMrVTJzRVRQd2NvQUpjSVEvL3hxaDJy?= =?utf-8?B?K2lHK3V0Mlh6MkNUemdtTy9nRmxjR25tZG9LRm5DS3hlWW9BSnUvMThPN1VW?= =?utf-8?B?L2NpajZyWW9Ea0xPLzZZZzF3RGx1S3NHR0oxQ09sRi9rS2V4eFh2K0xoRHdF?= =?utf-8?B?L1k5YnFuV1ZtMjZJNXptcjlOSWdUOTFJVkFoOUFUcWpzWXFmRzMrdHRYeXBQ?= =?utf-8?B?YlRGMjVMVG5HU05TNHRNZTRpcE9BcFBGck1iTWFnOU82TTRUbFF0SXZ6MXlo?= =?utf-8?B?RkxDR1N2cThlamtOMDQwRUhFVUMxOFBYRFhuWDJGaml0SjFmUnBhekpYQ0hk?= =?utf-8?B?ckVCd0pEOFloU1dpazgvdVlTdTJScFVVTk12TkFQVngvV0VSNS9XRThxUHFr?= =?utf-8?B?d1kwMFBTZjhyVVpYYUZickE1c3kwS2tJS2RLbUtvakVGU2N4N2JTNlR0R3NZ?= =?utf-8?B?eTdZaUI1VHBGS3owR3I3UURRYS9PMkwxdGwyY3VyMEwzdFlMMzNBa3dRRWg5?= =?utf-8?B?N0lsOG5PTWhTK29wbFM4aktPNWUwc0NvQnlZZDZqVVBVR1dBY2g1L2ZGVXFo?= =?utf-8?B?YnhSUXY1d1pIdGRqT1VjT25QcWtwQzJXU2QvOENzdHlBd2kvYlNXRVhkME9W?= =?utf-8?B?eDJkNll4cllYZlI1TzRtd2o3eUZBNW54dGhBejFkdkVWV1dwT0JHK25SbjFW?= =?utf-8?B?RHc4ck1hUTVIbHpDR0VQdmRtTTBaS2pQaTZ3SkZYclVpZ3ptZ3RMcGxSbmY5?= =?utf-8?B?MW9RMjQvVzhZYlhraDkwUmUzazlYOHJVRG1yaXpQQjZ1QzBXdHRlTDNHT1lT?= =?utf-8?B?bDkza1hPMjM4d2NxcFowUzFMZERPbFk5NlJEeTVEVUZwVWljTWlZRlNtNUh2?= =?utf-8?B?bmx3SWs1OERqcVdybEl1eG5JR0Q0UkVqb29hTzRQcHdiVmdHeTJlVzAyb2cr?= =?utf-8?B?QXg5U043OEF1TzloNUdua3pneHRzb0hwL1BRT0EwNkZsQmJkMVFYbjM1VWdx?= =?utf-8?B?eUtyMnYwNW41WCs5WDZKcFV2WXdSNnNVeWxBc21OWDhuNEpDd0lQajB1WUlV?= =?utf-8?B?V3FJMTVKWnZYRHZJakJhUHNLYkhrbEJST2R1cXNiWUFqQUxsZzc0ellpRjIv?= =?utf-8?B?VkhxdXBsdTRZbmF1SGViaFlmZGlRZXAwTEN2ODdwSFhiQ3RPSU1hWnB5VG1X?= =?utf-8?B?cDBHQ0dDRzhubFdyQldxS09vYmQ1M3JmbU5BNmNJdkpNZ1NZYTZKMkRkSlFp?= =?utf-8?B?V2dPaUNmNnBwNzlrSzVSYWVEQkwyOUpSUlVwN0hSMUwrd0tHQytHdjRsQUtF?= =?utf-8?B?YUlycnB0eXdzMHRHK2JhSzkyOVg5SUVzc3cyTGxSdXROdTJkQWZiazNrOGh1?= =?utf-8?B?b3ZZMGFkZkVEZzFtRm1EdU1qZE5oN1ZJeWlXZUxDb0ZqU1VlN3NaZkJGUmh5?= =?utf-8?B?VG9HT1hMZlhGM2JxaHFOc2krUXpPVTRvd1hTZGhEdGttQ1ExWGFOUEJ4ZVM0?= =?utf-8?B?WTJRZVdOWnE0MVN4NHI5M0l6VTdUZ1JMdEZoMVkwVzJpQTdrNlBQVnJ2d3Nk?= =?utf-8?B?NDlNKzY0dENuVGlHNXNiVjZaTkdieTVvNTExSnVCUklRV3hVUVNPaHA0RzNL?= =?utf-8?B?bjVwNmxXZU9UT09qbExCeDhkVmtka2VkcWJ2MkhCZmRrRmZtczRGeWI1L3Br?= =?utf-8?B?NU50dkJZRHBQVFZDTDRBdDB5U01HeFRrVjN6Q1BZanVzaWpmem5VV24xNVhq?= =?utf-8?B?V0Y3ODdOR3VOUUNBRGtvemlQSi9CT05ra2t3cGxuMlNZWUxSaTE3MjV4UGxJ?= =?utf-8?B?b2p1THZPeXpOaFk3YUt4QVR6VEI0dS9wd29pRVlTVGVZcWxsa0psbVlxa2Vq?= =?utf-8?B?byt4MEpNRDlUdW1vMFdMcE9tMWhpOVd6YU81aFdLd2RLOUQ2VEhjanpnSUVY?= =?utf-8?B?SkkyblZnUERtTWUyY3AxSk1OTm5XelFFR21lLzlaNnlDR3JITm0veW1ud0Js?= =?utf-8?B?blE9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: eDm3X4qxKQ3tY9Fh1JLihczsEYiA6+vOstU2uuCYth/ucSaR0oDT/Yo2VuvMprua8EvdHjj3UvofkZnIHgLbtXNJMEKX30zbc9hZIOT3zIIFADy4N7NeQzW033KG7xIsRymteeaAbsgyttXqudyBkvAoHaBKXtZ4Mckkq17ROVD+N0J2H6T8u+C1FyX2dYoeE6kn5hjwu3o1vO/ffDZzEmz8DxNmhW/wqpgc3Zxc+s+1SDnyhzcqcM9ZQ4cSWyG+Bq3rZr65jfXAn1F7Belsw2quK5g9EjGFz01aG/5xmIrBe1829uHjOPbscm817W8tSt5gtXn8IeRLhPidFh5KK2WKLNaD36k//TGxrfaOTF0nREI9/fL21XgNTnuO4vKLzDvzd0MlBmU3Yc/Fv6jsr9LYbSWnZ7ygZlCKm8cVc3CdxO3hSJpPUqapFvmAhWXuvBdQ/6Rvv8apTSqVrKnTfE7YDAXYVFD/ORqZt12JvtNEb0p4eXyrlXJ/9lgrQDEo3RqdhqIj5y0Gf4Lu19PTzfCEfPbeCfoaPMa4VtDAL/0MB/g4KsqYreH2EBtg85jzruQwFi4EpRtop66TmYSqyWRpTGx8PdsOLVwVXXLkuUo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1d7d885-8269-4087-fd3e-08dd691197c4 X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2025 07:17:23.8758 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1mqMjnTrbzqjRGs71XLCyXu1+e2tgXM2AvGSKiWyL2fXiSnY4JIvSlHcQS+mq9E5K1BzVJL2atC7/gFIo5NTyFJiOI19Ga3zwiLvm0V4fmk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5829 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-22_03,2025-03-21_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 bulkscore=0 adultscore=0 mlxscore=0 spamscore=0 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2503220050 X-Proofpoint-GUID: 1SobNSJ3rFzu8g8vXleYYT4QpH7D-oXe X-Proofpoint-ORIG-GUID: 1SobNSJ3rFzu8g8vXleYYT4QpH7D-oXe X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 0515410000A X-Stat-Signature: x597ymu6zzhc7cnt85k1arq6dfrwoiwb X-HE-Tag: 1742627852-734840 X-HE-Meta: U2FsdGVkX1+RzhUSMOEszkzpRbdo4ScWB7IwjgJIhb1mAJo/xtbteIJsVrujmSqzwJF7BfrYLv48EcUitUFAgSBMt/tX9t2DbNTOu4aojblTWG17fpwtgEs4LPjrYxaCskWU/8oe1Ah83VKzHO6O5m6NzuVYNlXqOtLSu7B3gZbVyV3WbWy8+UJCaOXs15kwqwc3ZNncw6jp5UPVnqOjgFUvWBS7f+8CBXM5k/Q/+hf3papkzFruMsy/iBXtZNRNjZU/1HIqGetrgfO4EYBjURL12z+FQuPAWNesrQC4cz1iAZ7mWn1x6ZjlEzLZ3XMrL/ES1AdpHo67Uhi3taVqnhZDQHw7XFVhPpDhhknjo6vG9w4oXh8yz1//G0WIlUYshl9O+yizRurujt9/smXWR2WrCkKLwzZSmhj5X7wdn/XTNzjBRq5E2t1oGptCZfHqDUGx0Xr86wmj56VAFt1eJOlSKMg/j68hl1or2kPDilF5sJPIKg574iHsx/mNyAWZ5BjnUt2Wxkmp08V1xNtLD1owhmp+ugkQqPgkdiJNTX6VmCRdoZm4euQxI3OQd7nTYZlJosAokte8X+M5D4Or2PIxOpTMYeBgKO7d5uyrdCsD0l5Kri4rvmtAN2uq2Ois+FBU0DtoYwnQbdD+h3o2dhsggutN9GmQXcIMFGsMCuIvMXHCU0f1aOrSwdCgSSLfcEFq8aFf5pDtb36TQG2o8xFZuXBslBnFWLeKcml7SEBX6GD30k/A4z5J5yfS/p8LpIPCTUmMb/P0d4ivcGG0gISUlYOBjwhkPuIvipr/18sqJIOV2Rtzflq8IBw4MjiU5TpcLgxPZtodgbYI5Rp+4JS5SU3GfqIwzANMQjIeK+Q402A0ZSZvCW2M4LNLoQxYjLKBxW+GZM8w/rO8CusWEIu28fNYSTk90FxEyNoycXeewq0mSD67f5jfv+GGFnX/C7euZN1pQNrI7xY6r88 27I3tTIw K8aqda2TUlRICSC0TFzx4Ijbr2W5aUBT9BgmK1eb0EtbD1/I4uoxTDojU738FX0dPmFREm1B12DDNER2fQHEqgtKYfUIWLF60U5PMqTXbf+WnIHHB4QyJbrjCJGWBLx1/qlco8cOVu22jq17GNGlPyYmz+R8OwVE+kiLi0WsLJ0QL9GM93kujLDXZk9jYVm1mhEKKT2CblAZirU1G8tswd8LbnwWwera+lGOdXiXiziH7eoFn9iKqzes9szfO7h6YP7YyDgBt0jB/WWfzuM/tP0+3GXPdfwtYwdH1x+hdM86QlVQo5JAniithU3pfOpGqyuPmXitz6OqoHNbxL1iNjbpgi99sYC7mqziI51gMIVM2TxA4PyA0ZR/xvlh1WqfaQEhBq9Mu32Kjm8Pzsx8A1bj/wBeMZQ8kPEljT0O1NCUaJtniv5++Dm/kiE0sjgPCRjbVUIxOhwVNd1fCeOBLSC7yu32+tNSilU93CSXP9IOHhBI+VQmBiggyo/U011/qi+8LWnLSDI7cytGrJ2dRnRwKrEE4Mwrf9fFOmQ2q704PpGqZdb1Whr8UvKG2+Jfiq87Eb3S421yGYRY/TIg8PQ8FpXWexU7Nmx1sK59jregw95wAPnJ/bEmssyRuGTwcBH4916sbzkT7muVqZWKM17W/F+Tg6A0Lns7hvrKHS+qlj9BcbMdku1ndUw== 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 for early review, pints_owed++ :>) On Sat, Mar 22, 2025 at 06:33:22AM +0100, David Hildenbrand wrote: > On 22.03.25 01:14, Jann Horn wrote: > > On Fri, Mar 21, 2025 at 10:54 PM Lorenzo Stoakes > > wrote: > > > diff --git a/mm/mremap.c b/mm/mremap.c > > > index 0865387531ed..bb67562a0114 100644 > > > --- a/mm/mremap.c > > > +++ b/mm/mremap.c > > [...] > > > +/* > > > + * If the folio mapped at the specified pte entry can have its index and mapping > > > + * relocated, then do so. > > > + * > > > + * Returns the number of pages we have traversed, or 0 if the operation failed. > > > + */ > > > +static unsigned long relocate_anon(struct pagetable_move_control *pmc, > > > + unsigned long old_addr, unsigned long new_addr, pte_t pte, > > > + bool undo) > > > +{ > > > + struct page *page; > > > + struct folio *folio; > > > + struct vm_area_struct *old, *new; > > > + pgoff_t new_index; > > > + unsigned long ret = 1; > > > + > > > + old = pmc->old; > > > + new = pmc->new; > > > + > > > + /* Ensure we have truly got an anon folio. */ > > > + page = vm_normal_page(old, old_addr, pte); > > > + if (!page) > > > + return ret; > > > + folio = page_folio(page); > > > + folio_lock(folio); > > > + > > > + /* no-op. */ > > > + if (!folio_test_anon(folio) || folio_test_ksm(folio)) > > > + goto out; > > > + > > > + /* > > > + * This should not happen as we explicitly disallow this, but check > > > + * anyway. > > > + */ > > > + if (folio_test_large(folio)) { > > > + ret = 0; > > > + goto out; > > > + } > > > > Do I understand correctly that you assume here that the page is > > exclusively mapped? Maybe we could at least > > WARN_ON(folio_mapcount(folio) != 1) or something like that? > > > > (I was also wondering if the PageAnonExclusive bit is somehow > > relevant, but we should probably not look at or touch that here, > > unless we want to think about cases where we _used to_ have a child > > from which the page may have been GUP'd...) > > UFFDIO_MOVE implements something similar. Right now we keep it simple: > > if (folio_test_large(src_folio) || > folio_maybe_dma_pinned(src_folio) || > !PageAnonExclusive(&src_folio->page)) { > err = -EBUSY; > goto out; > } > > Whereby we > > a) Make sure we cover all PTEs (-> small folio, single PTE). Large > PTE-mapped folios are split. > > b) Make sure there are no GUP pins (maybe not required here?) > > c) The folio is exclusive to this process Yeah, later I actually add handling for large folios :) but this is something separate. The maybe dma pinned thing is a thing and probably I need to add this. Will do so. > > > In general, things I can reason about with confidence are: > > a) As alternative to PageAnonExclusive(), we can check folio_mapcount()==1 > under the folio lock for small folios / PMD-mapped folios. As you (Jann) > say, there might be unexpected references on the folio from other processes. Ack for sure will add. > > b) For large (pte-mapped) folios, we could try batching multiple PTEs > (folio_pte_batch() etc.). We'd be processing all mappings with folio_lock + > folio_mapcount() == #PTEs. Interesting, hadn't thought about this, maybe we can discuss at LSF? > > c) In -next, there is now be the option to use folio lock + > folio_maybe_mapped_shared() == false. But it doesn't tell you into how many > VMAs a large folio is mapped into. > > In the following case: > > [ folio ] > [ VMA#1 ] [ VMA#2 ] > > c) would not tell you if you are fine modifying the folio when moving VMA#2. Right, I feel like prior checks made should assert this is not the case, however? But mapcount check should be a last ditch assurance? (actually at least one of the 'prior checks' for large folios are added in a later commit but still :P) > > > -- > Cheers, > > David / dhildenb >