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 5F5E0CD1299 for ; Tue, 9 Apr 2024 00:34:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4982F6B007B; Mon, 8 Apr 2024 20:34:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 447F56B0082; Mon, 8 Apr 2024 20:34:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C20C6B0083; Mon, 8 Apr 2024 20:34:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 08DB86B007B for ; Mon, 8 Apr 2024 20:34:57 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8CE7412020C for ; Tue, 9 Apr 2024 00:34:56 +0000 (UTC) X-FDA: 81988123392.09.AADA1D7 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf18.hostedemail.com (Postfix) with ESMTP id 31F1C1C000A for ; Tue, 9 Apr 2024 00:34:52 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=KPFrEaUN; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CZKVxjC5; dmarc=pass (policy=quarantine) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf18.hostedemail.com: domain of jane.chu@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=jane.chu@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712622892; 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=td7nRUFqQOlBlQ/Z+x6gdcsjsxbs+zWodH30pen2Z0U=; b=hqQz47bpazbbmV+Q3ZgV9eJR51ZsO5XovUyb6w+PV32D6YXu6IEJYNqAVWbPzShgujawSG wkXstwTEI5oRo+amO32wbaX8R8U1B1Hb7S4Q61Io5bKBUE/+bQZiG63PnLf2hSmXuB/BWk H0UBefsb5PXD9Z3O8wa/oGzpZfEW/1E= ARC-Authentication-Results: i=2; imf18.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=KPFrEaUN; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=CZKVxjC5; dmarc=pass (policy=quarantine) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf18.hostedemail.com: domain of jane.chu@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=jane.chu@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1712622892; a=rsa-sha256; cv=pass; b=GUp5C6lINSFrUHlk8k/745ejscoIlzv85y4fXDn9E9UG9GkMSKuu27+Joy6EuV9Krr1tmP 99/ns+gGzfIwVDb44JhsgszZ0GPvGJRdNotk07hJLuYAnoh5LrLli6BohLtA/oD0pVsksP iqbkaJ1zwHVdByWGjmTP4T7blHzXUWM= Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 438LmpWI030209; Tue, 9 Apr 2024 00:34:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=td7nRUFqQOlBlQ/Z+x6gdcsjsxbs+zWodH30pen2Z0U=; b=KPFrEaUNx5gUGlXEHJxo7x9buHTx0iQ1f5/pgP+Ruq4JW4ys0ysAg3xsQ7aXkEBb1oCK 5N8q8LPM3U4S88+EMKVFMNezzGsltdZA3JB9zdlW2FiwqrU88Aue2pRWRu4oICF7NqSk BaqQZUW3XXsA1CCFonMxGOdlU+S+5482FtNbpdy4Ag6HQiy8xaOpC8fJefDtBsefH/ms V96UcpBkuCJ0f1A1N07+3WB7CMfk9AK4mPlAlOcWD1DLtbwLX6OKjnZrqOLE2c3QyoKq MxMGgwDR8CTtYbUvuErkuFS6xqcUIREbe1GzjDbIWElcEafB9PNiKUstrQW3Zpw3S6Bb MA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3xaxedm1wk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Apr 2024 00:34:38 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 438MiibX010539; Tue, 9 Apr 2024 00:34:37 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2040.outbound.protection.outlook.com [104.47.57.40]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3xavu66d1t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 09 Apr 2024 00:34:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oWfUHlbZa+u4txTLQXEKl/MZPN3Vl4WqAp72lSoaErPjfIxvinA1IZ/VULsFqx04LvmSYFDyuBad68cmywVM1vG9LCpTBRsTqxu8Sj4/0RvdDQTPgsU+/pTekvnaJe983HhCV+ODoERU8wskD4IKYGR/mxwXD85HvUowhxsdtoaRRdYBcX7+vyG0aqdaBLMWUW+My1JaRawFzxcYNQpcieKlJka504ENV/TUVIBIwI95SntDNglKYl90KATYQxbTc7lzk7NnTodt0upVYA4jbCVonuWUyT4wyckicohOXLdVnkm20gqt68OIimvz3QG3F7KbNh0niXHy/4iLbpyKlg== 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=td7nRUFqQOlBlQ/Z+x6gdcsjsxbs+zWodH30pen2Z0U=; b=SpbViVzOuv1oqhFudC8Os8KL7rc5EqHb72zdZHPDIZ+jzHPBHlnCoruyWax4vkpU79tmyVeA5G4CDEpPVKB5khWS+E1oxpZtETMjUccr8G4OiKa3uM1f15be/0+DI7Sq7He3/U/X3j4uSikYWYBtrd8fWM031IIj+nNeB/wW3DLfBJoKWSy035JbejQSgELXntN4UMYWQ47efbAkiEPTPOqDjirM+r8dVIK9I5AliOqPaQbpuxRzRUcBBgipJ8dT7KWRKUGlwJ7Xr4OXnOla/Ln5fC1LcKU1Qf/tm7zyylY8HSCyN5lm2cRVRPHyWIqxc3ex/KCAqWKwL0E8LL+kww== 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=td7nRUFqQOlBlQ/Z+x6gdcsjsxbs+zWodH30pen2Z0U=; b=CZKVxjC5iyfuhJjr+jzF/YX9V2htlGAoYeqNR5SNf4FuOP4h2wUJRR0spZ/uRRf69Zm6udHHDyqja9sk39Ve8RlDWXT5EvnfAuxUrynU4PXnfYsL/rLhsGLYkmPy0JvHi0BWFnFpVILx9TpcIo7ynzi9jcYlegZ+/RQ61k19e0c= Received: from SJ0PR10MB4429.namprd10.prod.outlook.com (2603:10b6:a03:2d1::14) by SJ2PR10MB7583.namprd10.prod.outlook.com (2603:10b6:a03:537::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr 2024 00:34:36 +0000 Received: from SJ0PR10MB4429.namprd10.prod.outlook.com ([fe80::f5b:648d:5d73:dd03]) by SJ0PR10MB4429.namprd10.prod.outlook.com ([fe80::f5b:648d:5d73:dd03%7]) with mapi id 15.20.7409.042; Tue, 9 Apr 2024 00:34:35 +0000 Message-ID: Date: Mon, 8 Apr 2024 17:34:29 -0700 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 07/11] mm/memory-failure: Convert memory_failure() to use a folio To: "Matthew Wilcox (Oracle)" , Miaohe Lin Cc: linux-mm@kvack.org References: <20240408194232.118537-1-willy@infradead.org> <20240408194232.118537-8-willy@infradead.org> Content-Language: en-US From: Jane Chu In-Reply-To: <20240408194232.118537-8-willy@infradead.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO4P123CA0364.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18e::9) To SJ0PR10MB4429.namprd10.prod.outlook.com (2603:10b6:a03:2d1::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR10MB4429:EE_|SJ2PR10MB7583:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3LAFl9pYIK9xiV9vOpQT73WhM1oMOLw6XZI+fH9gdCllSGdxGwYeSUNjKDyKhYMcKd2Jy16eV+B7/yf+te486cXhljoOr59z4mqNx2/Pdrj+Jk4gDyEfaN3rGcW5p53y2wdDa69QRnGzgJ2KFfuhk/1MvVLtAO2hTD1sZyka2Pe2WtPbXEP3bQcpXU2/HQQ/Cpc7KVt/lcByXuEfs9rcA4U1IRfMBN73vM8pIi4J8imbC5XYKD+vVtVZOkWiqBdXHwfsqnCu5d1zk1rx6e/YRrtcKCT677241dGt80ibjcwhOxDK464WJcW6itipn92SMY3kJ7p9WoSVyGEt5pJJfhF0ql5LBOuT/ChUN3fpyjRsfjfbFu/nQGqO3MhOBK/gndIeuO5dB6B8eRsGVLymGkZnJQsAAgQ+zifl8V1G6uiXzBfAu36mDMg449TBYdNIq7j9K6URKKDXe+cz8SutDNNmfkSaWfoY79tiovPcdbUsrLKXBH04pmqOGljUK1UuKCdsqbl0nh2KQv3p+0P4DKNIfrXQmlpxKc2AccblBiU0cbVbjUnaM41jXURalX2iCMwTwf8SMX5E4CwIZDW2f+R9j0dK/FbVbOIaC34DJMUrwotGsZ6LB3r8g/lLzR+tWgWPr7il1Qe7v4heBnG9QF8lEe3gzJzXXV9SAkl2GT8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4429.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eXcwRUp2Z0xrM1A2M2lRSkphdVpGaG9QV1g2K0pOZXU3dllnbysxK3UrQmJ6?= =?utf-8?B?TGw2Qkc0VXVYdCtjcTM4Rno0MWZMNHJoSDVMWHdWdzFyRkU2TURIcDUycUpC?= =?utf-8?B?MWxYZHRYTkduMHZ4NWs0V0tCNDFKdjhlMlNBT0l4ekd0aDFzanlteU5QQklD?= =?utf-8?B?a1ZVVUFXWGNPM1AvcHgrVS9ySkl2Tk9nbUpwRXNXYjEydGorZUZZd3ZsMVNE?= =?utf-8?B?L1pINGZzR2VXa0hSc2ltOWRMNFR5RkkyS1RCZTYrc2pVbGJuelI5TURzY3Vp?= =?utf-8?B?Ymgvdm91M29XeW5HZzA4VXR1dEk2SlppbndpVmNKQTdBejdJYlNOdk5CQXlV?= =?utf-8?B?ek5PVnJobkdZbFdpZjJKNk01ckNyK09zQ1p3by85WEYxZ1hRNWZSUytQK3Nz?= =?utf-8?B?cmZBbU5ZanV5UDc0VEgrOFhkaHdxU0tybjZsZ01XNUpsU3JMU2d3SlhPT0NZ?= =?utf-8?B?RzZrUm1GNkZtYU0vakJ3MXRZeWRiNkRpdTNCSWh3QzE2anNMTlVYMnJGU3p6?= =?utf-8?B?RE9IN1lKRFdwbGF3WmEwYkpMa21NUHhkZjV4UGtBQUJyckc0RWtzY0FGcVp0?= =?utf-8?B?N1VqOFViclhFWkZPOG1ueW16bDRPenlEbmd5L3o5WWxDblFBUDdyQXRzZTVZ?= =?utf-8?B?UzY4U0hYbGJtWlhTQzdSVVlYM214ditrMmM4RS9tN0xsd3ZOQk9zanFkWi8v?= =?utf-8?B?SEJYNzREUXVGcmR1eE0xZjQrZ3pUSkNqR0VDM21OZFlYRGVIRFFvM0dDZU5L?= =?utf-8?B?b3pJUVI0R1Z1YjB0bEFSS0hlRjBsd1lITElMci90TEp1K1ZGQklYRW9MWTE2?= =?utf-8?B?aEpUTnZZaEh3NGNXNGNyNUc2ZG10djRJYndVRk1KTTJWRmpKYjZSV0xNYjQ2?= =?utf-8?B?SVhKUHJFYlRYQVphMGNTd1lDQWM0ZmJ2bTAvaXFuYTAySXJjY0NubEpOYlZF?= =?utf-8?B?M1h6dzdzUmg3WXBoOTFnU0xLYWp6MmFqT1FRQzZ6RFJ6M0xpZjdyU3lUSmVW?= =?utf-8?B?WWJSa2U5WGs5cW9CVG01a2lyWkIxaDhoTllkbmNyemNOUjlXY3lncmJaODhx?= =?utf-8?B?YUtlcVlNeUZEK3d1czlEK0RhOEJvT3puTVpZa1k2NUhrMU5kQ0h2NGt3QzUr?= =?utf-8?B?L3dIdStKWlk5aFExWThreVVNSWx4V1oyT0xVN1h0SXVFUVI3Q2psYUVEaEtu?= =?utf-8?B?OXZhUXY4MWVDY3dMRFN5ZVhhRTBZK1JHUk9UN3BpUFR2eUwxM09BYVZ4TVdn?= =?utf-8?B?bWhWMC9xdEd4TjlSbmZIZU10bGRJaGJROFowRnZLUWNqak5PdjUvZk8zdmxr?= =?utf-8?B?cGg4S0tJS3N0dHVQaGFwUlpGbVdHV3grTWIyV3Z4ZHYwUTJCN1lvMFpQTis2?= =?utf-8?B?OFBnMkh2VHlmTnJvNjBNME1NbnRibGxJN05XenBidjluTGNTdlZGV2s4TXM4?= =?utf-8?B?TzFLekVBQ3lVVGNSZVR4enVlU3pTbUhDdnpXVlhhd3l0NFY5b2IyYm5TbUFw?= =?utf-8?B?WVVpdzlJUTJ4ajFiTzh4TzYyNGwxZ0J3S2RpNG12TFVNL20xTXdCNEFzNTVR?= =?utf-8?B?ajdmeTgwWEdJdjZrcnJFbWswZEM5VDRoWVZnL2VwV1F0djQvMmNVMDlLT3VR?= =?utf-8?B?TzhmRkxpcUwzOGZYY3FOaENxRkljK2dHRm5YR1ZDUlVDaDJYMlplMndGejFS?= =?utf-8?B?d1lmclNqNEhEVHhEemwrWU90RVNOTjA1NXdjZE43aXFOOEwxYi81bGNLNW1m?= =?utf-8?B?MUV5ejJlUE1IZkMzMWJ1Z05oWURUOGU2a0N5d0VCd1dEYU5jSk1aZml0cmxh?= =?utf-8?B?cXBKbXBqekZ3UVVRNjdoMUxOa2V1eE5OMVBxdUp4c0VrajRhOTVwdW9GL0lv?= =?utf-8?B?OTgxdStLNElDd2Qvc2JJMU9ZeVdXS1RHQ3RkcFZHb0s3N3FnOXV1aTZBZVdy?= =?utf-8?B?NHg1OEh3dnRSWHN5N2tTTGFpWm1RTjRFaFRyaHJhYzZJWCtWSllMdUNsbE9z?= =?utf-8?B?NXprbXVYeFF4aE1mVUR0RERPL0Fpd3kzdlROTHl4V2EyUG5ZVWZhNzJzb2JO?= =?utf-8?B?ZXBwZzlFNy9heWFaQ29USGt2MVYwMWpYdEhSSDVYT1pkZXhtdVkzeUdFRG1S?= =?utf-8?Q?yS6HUnI94mKA3jBuBEBNBXyb+?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: yuMHxoHuHs/ZZwNU8E1M5VAo+eJ98D7/Gi1hAmpKOrn5e1uYCBGwQ+j6NrAOUrlbvk/0QmDgq3dawo2N7aoXu6pKDBgH1QJpI9U2g8cFYKL3Co7zu+rsgruB6A8pIXRtaBYBxzFIIka3aizQPeiQWWaOcbchobluqO2SVfgjXWYEoJPbFp6kIzfLGH8gO8Zu/RKiFS5C7XXEeMaCrXD19yow66bQSD4KhEWLWrmmZA10bVxUjzGPS2MbQn7qBj6z4CY/L+UtVvpuRYZWISwfpdX6/Wq9McrzzRY9aldsitzeAsH5a8hB46m3nf2YpaC3d7KG7UpbG5AlopH/oa03irsLK3kq/jpnBw93ChBpsq615Oal9LQ88T3/OOsal2+VtLCy5aoIHcIw8S2QZUkN7qj6NJhQ7aVk5JhspYR57UKXsRV5KkZ1pCEKU1lE6ozYkUyUe76Uy2egWSY5xYeK+9+SAaHW8Q54xoBgAfUhM5w1DUxOfCg9ercdrpKvPQqbUHZoLGeVMBR56z+GyVQC0m3G9gG3aLxSiFjawkd1QaRSsSLSYHvpLShJgQ66FH6R2J1jT4xwUKDxdKPTLc8dtGPh1fzueOv8ZwZmLz7EaJA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 66bc436b-f360-4059-f67c-08dc582cd504 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4429.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 00:34:35.8221 (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: REoIHdoHvhapbRlKkfWBo8cJQWC+FCCesJNgKYM114zlQlI7ckdN13J4rkNlGvKCD6hcO+AAFMmxnswSqfwJTw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB7583 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-08_19,2024-04-05_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 suspectscore=0 spamscore=0 mlxscore=0 bulkscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404090000 X-Proofpoint-GUID: uxUii-cdpsZMHcKjABMp1TwA-VUk2sNX X-Proofpoint-ORIG-GUID: uxUii-cdpsZMHcKjABMp1TwA-VUk2sNX X-Rspamd-Queue-Id: 31F1C1C000A X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: xibx54meo74zid8mgww55o7k15ckuk6e X-HE-Tag: 1712622892-813957 X-HE-Meta: U2FsdGVkX1/fjuk7i6QXa6BtNZ73z10o7GnvirDztWyAGo8zwKs8qjhGNwg0eESQUBVbJknlUpUJA9Lutifkod9hCP1qLfOErB4FO9i4WQiZGII1I5TC37BJ+qCu5hhvxcoaO9AcutEy/yltiSxx/D+gIhZvzWDrxaQQ8FF1045BwxLNHXCwTaYpsX5iJoTAD3hOa8z7H+IMWzp5pFQzlEEBF/oiZ/ntCSXDDRaog/UYyJK3roYtMlSO/dFtj5C0zZhFw9fboJEmtgHG6CVZU/RkrHm9Nce744pctbzkgHhf2R2/znKICV5AsMFXuO3x1GVHjswJGVK5Gfb1z/mibMT4Ww3sqOroXpj1nn2Lh3mIqnYkvMCj1+qEetNeP33cudJjyGdZzJ73hWVDdX8hNgIhWEFIDqTsyF6lhTpuK5EIiCsvA4v212aw3EhnUc+z3TvBO42mVZ1zAbCAAcTZNyrNizpCXb4ou3p7IHs+F5XIHo1qPhOSdDZZwrWdX+RFe7/eYftXWgK9HC1UBPrj73gt6y5iML+yglW0y2ginNjcTZS/lAJpGnBK+XwJdoQo5HE/KEtx8cTmkcNSvNMv9vgWnagVsDqx4ghkTB/NnCXI/lh16adLfnHlE3Vq5WxNt9Z6H1k8rOW1hzpIP1IVRl1blmUukcT/5iO29cz/lmiQ4e+kGFuY5aE/tTlPwF48VGoZMZmxDLElhZea/EsbdmfyFaQjb61PPIjRNNpLqicva2ZzqpEja7PKmrIAESf12ra1yvSwGCZhmWwfDdMRaX+IZr9dpSBF1d8Sh93eqx/OhjdHQ5Unyw8Zq+B6kKgiS1/dIE3R043YaxF5W6+AuBkp9pjWh46u5YRVQOnlsPFgp3cIBCMePKbyeDiKAq8reNmz+tgmt/eMRlPDdnbPhGDmyH//sh4N873h6/1d+rh9AykRS0avtmY20oqBRvpagR/lpV6zhkpOlMMS6M4 HmNDLpTu wwykB2mbe0uSttQYET3gwaja8MHtqDObWp3dHVjJwr/lQ+j/tUaflUAh9vYPT05ZcET2TAsY+9Mo3kH786ZoaW1kSC+HVcVJ4AG1dpO6aOkkU69bkm8dea3MAK7XwQYHwg8PSpdE7VN5VRR0bYVqYQDHNGKC7fnmhPwM0WaP6zCRN2nTq+B0lmWPxIzfm02lKlCzUvuXcfS7WDZpi8vO3lVsJezb+UyboIWg1EJ5BgBAk1Ve9NgzBrciBpwI8LVeGvCzT8kUK2ZCEauTe5+xGKSE9wYIJy60oBnd5fXbYdD0eHfnp4P9w+NnaNmPRuddBOaDqEX8U23irf9PBaWN0XSq/Liko5Cp8Km1FmOeeHe0Oi+H3lducX1EF7JtCFNjD3VtQyrMF3uFDAb0odjGEanD0Uymj+aIDFLgBlrjEPevtx9Y+f5m3eRQzaf75yuEM/71I8nuEweUFseJnF7a7WM1jOCaGMEVvASChD5zNlHdR54Q2MKDANVuu0P57bRTG8MPQ2fJIiimz25jjAbqlbZ0Pg9lrtItzIlnqWbOOpXjOksgOY/GDAOQaqLgeB5Hk9ef7TZJQoxckbM6q10dZRKwjf+z42SNL/CM5 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 4/8/2024 12:42 PM, Matthew Wilcox (Oracle) wrote: > Saves dozens of calls to compound_head(). > > Signed-off-by: Matthew Wilcox (Oracle) > --- > mm/memory-failure.c | 40 +++++++++++++++++++++------------------- > 1 file changed, 21 insertions(+), 19 deletions(-) > > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index 0a45fb7fb055..1c7c73776604 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -2173,7 +2173,7 @@ static int memory_failure_dev_pagemap(unsigned long pfn, int flags, > int memory_failure(unsigned long pfn, int flags) > { > struct page *p; > - struct page *hpage; > + struct folio *folio; > struct dev_pagemap *pgmap; > int res = 0; > unsigned long page_flags; > @@ -2261,8 +2261,8 @@ int memory_failure(unsigned long pfn, int flags) > } > } > > - hpage = compound_head(p); > - if (PageTransHuge(hpage)) { > + folio = page_folio(p); > + if (folio_test_large(folio)) { > /* > * The flag must be set after the refcount is bumped > * otherwise it may race with THP split. > @@ -2276,12 +2276,13 @@ int memory_failure(unsigned long pfn, int flags) > * or unhandlable page. The refcount is bumped iff the > * page is a valid handlable page. > */ > - SetPageHasHWPoisoned(hpage); > + folio_set_has_hwpoisoned(folio); > if (try_to_split_thp_page(p) < 0) { > res = action_result(pfn, MF_MSG_UNSPLIT_THP, MF_IGNORED); > goto unlock_mutex; > } > VM_BUG_ON_PAGE(!page_count(p), p); > + folio = page_folio(p); > } > > /* > @@ -2292,9 +2293,9 @@ int memory_failure(unsigned long pfn, int flags) > * The check (unnecessarily) ignores LRU pages being isolated and > * walked by the page reclaim code, however that's not a big loss. > */ > - shake_page(p); > + shake_folio(folio); > > - lock_page(p); > + folio_lock(folio); > > /* > * We're only intended to deal with the non-Compound page here. > @@ -2302,11 +2303,11 @@ int memory_failure(unsigned long pfn, int flags) > * race window. If this happens, we could try again to hopefully > * handle the page next round. > */ > - if (PageCompound(p)) { > + if (folio_test_large(folio)) { At this stage,  'p' is not expected to be a large page since a _refcount has been taken, right?  So is it reasonable to replace the "if (retry)" block with a VM_BUG_ON warning?  otherwise, if 'p' became part of a different large folio,  how to recover from here ? > if (retry) { > ClearPageHWPoison(p); > - unlock_page(p); > - put_page(p); > + folio_unlock(folio); > + folio_put(folio); > flags &= ~MF_COUNT_INCREASED; > retry = false; > goto try_again; > @@ -2322,29 +2323,29 @@ int memory_failure(unsigned long pfn, int flags) > * folio_remove_rmap_*() in try_to_unmap_one(). So to determine page > * status correctly, we save a copy of the page flags at this time. > */ > - page_flags = p->flags; > + page_flags = folio->flags; > > if (hwpoison_filter(p)) { > ClearPageHWPoison(p); > - unlock_page(p); > - put_page(p); > + folio_unlock(folio); > + folio_put(folio); > res = -EOPNOTSUPP; > goto unlock_mutex; > } > > /* > - * __munlock_folio() may clear a writeback page's LRU flag without > - * page_lock. We need wait writeback completion for this page or it > - * may trigger vfs BUG while evict inode. > + * __munlock_folio() may clear a writeback folio's LRU flag without > + * the folio lock. We need to wait for writeback completion for this > + * folio or it may trigger a vfs BUG while evicting inode. > */ > - if (!PageLRU(p) && !PageWriteback(p)) > + if (!folio_test_lru(folio) && !folio_test_writeback(folio)) > goto identify_page_state; > > /* > * It's very difficult to mess with pages currently under IO > * and in many cases impossible, so we just avoid it here. > */ > - wait_on_page_writeback(p); > + folio_wait_writeback(folio); > > /* > * Now take care of user space mappings. > @@ -2358,7 +2359,8 @@ int memory_failure(unsigned long pfn, int flags) > /* > * Torn down by someone else? > */ > - if (PageLRU(p) && !PageSwapCache(p) && p->mapping == NULL) { > + if (folio_test_lru(folio) && !folio_test_swapcache(folio) && > + folio->mapping == NULL) { > res = action_result(pfn, MF_MSG_TRUNCATED_LRU, MF_IGNORED); > goto unlock_page; > } > @@ -2368,7 +2370,7 @@ int memory_failure(unsigned long pfn, int flags) > mutex_unlock(&mf_mutex); > return res; > unlock_page: > - unlock_page(p); > + folio_unlock(folio); > unlock_mutex: > mutex_unlock(&mf_mutex); > return res; thanks, -jane