From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7708A41 for ; Tue, 21 Jan 2025 05:20:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737436844; cv=fail; b=nl+WTlv1HPd29r0JOaWJI9hmn1HA9mhmN1bxXNvD/wutrb7US9zWxrRu88JpHXt/YSglDJVhMJOtHlqixk5kkj0jiYckXl3KR3c8FQJpZXUtb07dx9XlKxYsx9nE9s/mAQz0t73QlUW04pO2Y6oNb3Rafnp6On/6HFuD4iPHF4Y= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737436844; c=relaxed/simple; bh=cnZ5+ce4HYrAPE83fKp7r49gm+QjjFMlfwrHl+bRQ0Y=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To: Content-Type:MIME-Version; b=bsbUlRrVxBiNP7xQ0yfu3gN+Uf0BH8RsfSt1/I/qIH8JjRl2glZMFGpT8ENl0gvmAuOG/rVIeIMaS7jfK+5GwrLn82ily9clYF04d9/DQ6A9Mqcbs/EuKF4klTjhFvEkADPDkOMfigWEEVd1VjJ1klCltF6idAbMyBbzskroh00= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=X4Pg3DEQ; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=uWYASgYR; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="X4Pg3DEQ"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="uWYASgYR" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50KGMudC011458; Tue, 21 Jan 2025 05:20:26 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=E9Tco208Wo54mhh0C23Imcr/UhS2CDdRDBvY558vLbE=; b= X4Pg3DEQLoDOZKS5mo96Cxl7C49+EjXAwdUiS8jctyjWUdQyi54Fzuo179EhGS53 TSkL1dnoB47fSH1ibrHX40e48pblkoOxqLC/fh4j0B/j3ajC7Hep8qw0dJ8NF9KH yE5hzcVSJymGKcNsqDH4fan9D+A5eY5tpLjvWYtiQX1+A07FWtXm9NOGVIwuyBTn xIlhDpMnGMdV0WTaYnI3FJAxQ+kjOr/RhyUa3eQ+dNTWBBO0DAIDFHzuWY2DKgIv pLpKSVnREAZD+L45UX4PoMpBKmwSYTfoGI9ZUsvEUQG+O96etBFROZeQcxzbQcvT nDc9gCkbo6cX0ozUum9XXA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4485nb4nq7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 21 Jan 2025 05:20:26 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 50L2HdPh036529; Tue, 21 Jan 2025 05:20:25 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2168.outbound.protection.outlook.com [104.47.56.168]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 44917p1cxg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 21 Jan 2025 05:20:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mflmpIsc5E+1SkG1UwMLFIosXTLc7x7IXfUWNOJoKVtSfdlC9uWD4n/eYRIwwu9j+DLH6nbVBnSOV5LhKCsat3myOpBVjvzZgTtq803dtCPaYikohQb1X1XHDMs//+2ysbc4zGKbogmLdDVwS4ypIBU86JJ9K63prB0I9Au4pEX2XW8N2h95DVTyHEioryL+y6oH3jKtxbhgJDOu8mg2u1pnFr78/PuUGJHqRtLJnlvndx4bicyAJ0VRnHuetfJ+XmhapFwtOWMu+mDo4IJnF29e+a6F6KRQ4Q9eh+hZG907O35rb9qu4+dWQ99UlI5LheMUTr1Z9AIykPNjog/gDQ== 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=E9Tco208Wo54mhh0C23Imcr/UhS2CDdRDBvY558vLbE=; b=Rrk1M9oSyQd76udnfGYCbHSe2M4QABWTuaFsdLdo2eP1xKzlGYDW3Xsb2rKjxwjYthWjIxQ0nfJtw0lK9L5fJz9chzvgnNOzU8t8L0Nm0X/kSIjc2nVJ+C+ovm+G2fWLvWrBZnjFwsrtvxvvJSBJhDcA+G8oYFJBFyqWMmuxfpQZSs+9QCW50nJvYLsq5+syXcMuIADVYjwm0hHgTt5MOKQJ/EGx1tTO5KcmuzOGzyqj+726ilonbp9el6UQ2FQ/aQA+1GARfqqZsZkpx80lxlGwe8WDe92cYKkOYvbMXBWyQViyqR+gf14+u75n21fro+cXtdQFGyTulidxHQsOpg== 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=E9Tco208Wo54mhh0C23Imcr/UhS2CDdRDBvY558vLbE=; b=uWYASgYRARqEaR2KcDHOGCh4bNSYmWkYTiTNrL5UMMOS2l3P2z8magXZnQWIjoQlJ2u1AacKdQ2YISKKFzNagbma/G9PCtLdh+HGzwDrVEvW0BVhW+bvtVEh0dziSKPffgD6VCwFAksEig1rDBtEk7+qIUJdss0NIhZNFL66GtA= Received: from SA2PR10MB4780.namprd10.prod.outlook.com (2603:10b6:806:118::5) by BN0PR10MB5014.namprd10.prod.outlook.com (2603:10b6:408:115::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.22; Tue, 21 Jan 2025 05:20:23 +0000 Received: from SA2PR10MB4780.namprd10.prod.outlook.com ([fe80::b66:5132:4bd6:3acb]) by SA2PR10MB4780.namprd10.prod.outlook.com ([fe80::b66:5132:4bd6:3acb%7]) with mapi id 15.20.8356.020; Tue, 21 Jan 2025 05:20:23 +0000 Message-ID: Date: Mon, 20 Jan 2025 21:20:19 -0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm: make page_mapped_in_vma() hugetlb walk aware To: Matthew Wilcox Cc: akpm@linux-foundation.org, linmiaohe@huawei.com, kirill.shutemov@linux.intel.com, hughd@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250121041849.3393237-1-jane.chu@oracle.com> Content-Language: en-US From: jane.chu@oracle.com In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MN2PR20CA0051.namprd20.prod.outlook.com (2603:10b6:208:235::20) To SA2PR10MB4780.namprd10.prod.outlook.com (2603:10b6:806:118::5) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR10MB4780:EE_|BN0PR10MB5014:EE_ X-MS-Office365-Filtering-Correlation-Id: dc7c8b5a-7127-4852-ab5c-08dd39db4e91 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?S2d6d09ZSDZvZEgydWpBNVE3QnNQb3JBb3J0SmwrdVpuTWQzNklhZjRWaTdw?= =?utf-8?B?MEdsQUdjWUZXZDZTVWc0Szc1YlFYY3p1RERkMHAyaURrWkNrZnF4Rk1BZkJZ?= =?utf-8?B?U0lRa0ZyWE8rV0l0MUpBckVEN2d5SVF0Sy9TYklabWlPN3pIOXNzUngyelJo?= =?utf-8?B?Mm1OT2MwTENoQ0pyZWRvM2tnZkZ6c3ZtaHVyR1FRU1g0a3V5NlhoMDBHQ2dD?= =?utf-8?B?Mk1IYWprNXkySURONWZNOEQwQ0hObmFOUmd4YVVCSzJlQkpiSXMzbG82RkZp?= =?utf-8?B?a1BjMFFGT2VSb25qajlka01STHZMUEpDcDdlbUpqa3k4ek1seE9lMVY5cisw?= =?utf-8?B?M1l1ZDdQQXZzbzlhWERKMDJEV25xeXpvSjl2RWRVSytlM2JRQTc3S01OcHRX?= =?utf-8?B?VmQ0eWw3dTFqR0VOL0lRNTJGUlhkd1NBK0JDNmVFdE14azJ3RFFwanU5YS9t?= =?utf-8?B?bXVVWXN5alhqQ2NzWmFKOUNRVTFLbmwxLzdZU201UUc5Tm1zV2ZGcE5jTVFV?= =?utf-8?B?NEpWUGxDdjM3SVdURnFwNG8za2l6c2x4L1NiYmFTT0NRWDRoY3hNemUxR1Q2?= =?utf-8?B?WGFEUk03T3ZtTm41UFh1MlluTndTMHZJYWZnZmlyTTc4dEZ2OTRGSnl3cmgr?= =?utf-8?B?WE9yT04vcmptQ0JkZ3ZtdFRqemkySzZoeGtOUStjeGQ1U3JjRm93Zzd5WVYy?= =?utf-8?B?Ym5zSE1ydXJ6VFg3MTc1eFkrcDN3STRUUC8rWS9SWnB5NDdjK3ZrankxcnpG?= =?utf-8?B?c3pSKzEvRTRzQ0tSZXg2WG51VVZIT1B4NFE4L1dmYU9Lbkw4cnp5NHgyMnpn?= =?utf-8?B?R3pYM3VjVWU0MllnZi92VmNXSHh4by9SQithYzl2bkJtZUpkUlkwdjEwMnJ5?= =?utf-8?B?U25IMVJGeGNVWlQ1aCtLUkE5QVRielU3SkxBaWw2RDlENUMwWWdVcmJrcTJQ?= =?utf-8?B?VkhQekQ0blliT2NpcmJmQkhBT3ZrZmp5LzBwN3dxMzZhaDZ6VVdTK1hmK29y?= =?utf-8?B?L0lTOFhqcDRmRnlvbjczY1pST0F4L1lMeGJSNjg1VFVtUlZFdXlKV05TU0Jp?= =?utf-8?B?SHRvVjhSOEhlcFdJTEQ2bldPQVNKSktWK3hFOXhqaVFvd1pMTUNndTJyOWFa?= =?utf-8?B?YnlTdWlBdGFKeVJnQkI4aWFJLzJGVkhKR1kyeFBMWmorS2tXcFRBVmpBbW5s?= =?utf-8?B?UysrU3YxTG1JZE1OQm5neU9WYXUzamk1YndWK0ZHQWFNTGlhbTFPV09kK3Jt?= =?utf-8?B?dSsrdGVsNVAzbTUxaGdSV1hvQVduTThCWFdWWnh3SWQrT05QV1FSWmUwRkow?= =?utf-8?B?MzRjSWZFYmZTL051Y1pCODliLy9JWmlBTjNYS2lSVmFqaVhpaWlRc1Zsdmw4?= =?utf-8?B?Z0tOenJQZnJRdWFJLzhGUmxoU0FzTXIvajBWZ1Nuc2pydmllQ2g1QUQzRita?= =?utf-8?B?SFJhTHpoOHhVMFVhRW1qb1NUeWNaL0FWK25ZMzdqU3RSSkxrRHduRm5uTGNM?= =?utf-8?B?WFRwc3J0OTBQakY5dmR1ckc1cHJkMG44STRaUU8zNXdrV21QZGVJVkg3dDRy?= =?utf-8?B?bk5iSHNYNWdycmVpSDVlRWgrOHJVSFRTaDkyOVlyZk4vWDQ3cUZJTXIzUXpP?= =?utf-8?B?SXo3UW56dnNXblNGakJueUgzTFJqdGZpVTRIVFNNbFF4Rm5zT2UyMzg0OVE1?= =?utf-8?B?U29KeU1GUHBxSENoYlVwZU4vVVdqdFB6Q1J5b1libVlBOHRvOXMra1dqTTda?= =?utf-8?B?cURlaU1JcXdsN0V2bnA2SzZiZGtvb0hDZnhiaVhJQWorSFFsWnNKNjRXRUZt?= =?utf-8?B?OG5KQlZlcklodTVKaGQrNGF4aEVFRUNpbjByUlAybEVneTdzTC8rZGRJb3lQ?= =?utf-8?Q?CcrVWk74E43K9?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA2PR10MB4780.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZS93cUFwWWU1cWJGc3VVaTBsMWc4b0ZwZnI0aEZSK3ZlV1RkSU9uMnIzRWFs?= =?utf-8?B?anZYNWxJNlVTUFRzSGNRVllrVExiSVlEcytaN2J4aURWSjN1Z01qYW4vWXhw?= =?utf-8?B?ejdIY1FZMmVxYTd6MXhnNDh3ck5RM2JoOWx3TE9iaVhYb29tb0hkUGJTNTRa?= =?utf-8?B?eUVmVGJyUW9yV3NsWm4vMWQ0RnFCcHAwYmdBV3Nlb2VXNWdXci9JNEkvbExy?= =?utf-8?B?eEFzSjlqcUZaMGU5U091NCtjTDlrTTFZWnZWZ1NGNm5pY0Z1Zng4blI1c2F4?= =?utf-8?B?M0NURTR1NUs3UGpFbUgwb0ZpcFhVZEp4ejQyaW5jTTVXU3B5VUpMemhsemIr?= =?utf-8?B?RXAvdnJNaEQxb2VhYkQwZmM0RWNnVTRVc3RKekw1cXdFeEtpZ2VmdmtxZGJF?= =?utf-8?B?WE9nT09xRXJqc1dBNmlqakprTEJRb0JLdzgvdjFWL0haR1gybllNaWlnWk9u?= =?utf-8?B?cVVGakMwZkZOR0grcVlwanlQc1ZwenYzVllqRTJuVGdmTWtHZXhBRzcyNTA0?= =?utf-8?B?WUd0OUR2alJtdXFKMmJzRjZQNVpVNFRZODNid2IxZjhDU1ljQ1d4UzBkT0w1?= =?utf-8?B?UVQyUkt6MXNSaW5OQ1RUNUtIbzZ2RFl1NndFbzE5emlFenlvTkIyZjJFenRz?= =?utf-8?B?eGw4czBvMXhoVUNYYVRkOXVMK3U3b1ppWjFPRVc0RHExWkpQN0p4VEtjZ1pD?= =?utf-8?B?OC9Qcm5aM2JsbTFrSDJPQmdxRVNoVDk1ZXdtSDhubTBYS1Q5SCtWSWkybGdn?= =?utf-8?B?NWN3bUh0Z000dGpsKzYwOWFzWE1oSGJTYlVhRkM0S2RoRmd2eitZc2JFN3Z3?= =?utf-8?B?aUJId21iOVJPMmRjWmpoR2JXSkdhY3VadFJwOU5vK2EwL1RvdDAyRUFHbURs?= =?utf-8?B?RlByUGk5eUQ2TitDRXlLOHEvZlFteHlwYmhFRzByMWFpaHlRa3RYdlNmcmkx?= =?utf-8?B?NmZBbG9DMTBuQm45NlJ3ZjlxY1JJVFhNYWdjcEdPU25DQjc5YVpYNmdPQ3Rs?= =?utf-8?B?VG9aYjZzZTFIREtaTzlpdWlORnI5WUpkTnVJWTlKZSt6YnZoSFEvanVyZVQz?= =?utf-8?B?eGJDczBVMklBbFhRbk1XMWFsY0JHOTVTNjRGaVR1SUFsenBPWnNVSHNySEVU?= =?utf-8?B?aVhidHN5bXp1aHo4MG5DVVRuZ3Y0eWhpVGJyRlF1S3RWeEVsVGxyNDcyQzB0?= =?utf-8?B?UDdaSTZtS24vQlZxTU0zbUFxWGVLOCtLb2VsKzZCVkRXZWNUd3VhaG9sVm0x?= =?utf-8?B?YVpwMnpUcXh0SWsvTTkzRm9GamsyclJvRHdYaWw1aWlrNDNiQ3FkS3FHMHgv?= =?utf-8?B?VDUyVmo4WEhRK3dJNVFCOGdRUnl6SUUzNHpITHBWaWhPMjNqR29wRGFoMHBB?= =?utf-8?B?ZHJGbmpFTGtoazlidzIxMDhoeXEzb3ZBTHhYQ2ovb3NSM2gyMTZqdVdYNTc3?= =?utf-8?B?UDYrK2NKVmhTcTUveEF0dmpuWEJsMDVKL0RnNGtYYy9ZMGVad0JCd2h4VThU?= =?utf-8?B?MlVFbk1sRWEyY2ZwS1FGYi9UYWYybEFPenV0N1ZJeitFVjdnWm5ab2lVL29L?= =?utf-8?B?U1FUZitmeEp6dWp0ZUp3NmhDNnRZeEhkaFVuN0RlYnJicUQ3YmJnaTNheVJK?= =?utf-8?B?OUxERDR0TzVtVFJnZDJYS291K29yVGFyYzhoWDZnYWRxN2JXMEFPZlZIRy9E?= =?utf-8?B?a3JJZ2VwRUEwS0l0UFZXMUo1UXRQNzE1UEVKT3VHTkprSWlEemp0Z0JjL2NG?= =?utf-8?B?N0tXc3liNVprMzlVQk9RWDg1SGN4TWVkQzZSNFRWY3RTZjlRU2JIWTNUL2x2?= =?utf-8?B?UmpMemdGTU8ybjFzZE1DNWpWYXRVSjFUUzlmZkt6RlpvdHFQVDBmRzZwOGJS?= =?utf-8?B?dVdVUUp4ZzZkMC9UbmNJaDN4djRqRWhJRGV4dGoyN05zZUx2dDVuN2l6QmFP?= =?utf-8?B?cHI3OXd5T2JxdTNMbVI2ZzlqK0JzRTFyZ0wzUUlpb3VXakNsS2dxRE8wK2pM?= =?utf-8?B?NEQrYlNjOU43eW9sSEhsZkdCSVZCUkxyZnJzQnlkSG9Ja2RYZm9ZdldrakJl?= =?utf-8?B?TVV6WnZjNWVvZml0VWovNGQ2amtHRDIxWDhvUXE1dkp5T0UrY0t0N3h5aUFU?= =?utf-8?Q?J46hVxfMGUWNTU3HESbiYm5Y9?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: awPLkBTdk4vtCkZ4/dnbGZq/CYoUAbBBc+EfR8dhrijBHXFHZs7WuGbTS+qQq5GyaVSj0WWj72LVFdV/cj6/hxPQrh5/7C67zWq35lpD/wSY5EfNlW6EdLfBRCceymOSg/TXPfPrz5jd3wAA2dmhNnbzDL75Az0pxm5uwmEOWfhArwagCkHefHtzOV3orSepd3iPGV51v+RS6kp1P2n1+CJtakQT/uYUm0MrERF8psomvIJToD42syUcDs9woB7yDtJm55prqXoC1QnKYCxO8K2mQ2llTrw1pcJmtzh3+zBvch1e01pc1KLPJ8ZuONQGtSUwVUjJ33O7aAxLbKcc2/EAGm42T2tvjr5wBtxU4QedyrGU1Z0KEi4xH/NhcYKcbxuGaQ/v6NGkmVgduK5hqKP6z4/XwV0PWOxyJzmvpnBG3UabenVwZvZaTu0h1fCMvbFAZwryYO3g3qiou73FqBqkA1309+AY+yZB5cdm6dVEU0/JZo7uV1BbkDjeq1Cp9LQqwj1D0vrpIBHkGSvppByS+CcGlhZRXEjbC+QhqJIJuHCG6DSN5vJ4XNs6BX5j0uL9YN7cqehHv7c24r9K75RFlr+9a3tr1ZTA0kOmL+E= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc7c8b5a-7127-4852-ab5c-08dd39db4e91 X-MS-Exchange-CrossTenant-AuthSource: SA2PR10MB4780.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2025 05:20:23.6567 (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: jquGmHhT0Zvh5VncAGyb1EHC9bEBG8nOwyrxdLD5/NUUXUp9nGDHl8B9VuFTtf9JwtuyWUox5Otna1suoFfxKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5014 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-21_02,2025-01-20_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501210041 X-Proofpoint-GUID: i4jFeELMnHEMZIkZr_6GT0jKQcOPDi35 X-Proofpoint-ORIG-GUID: i4jFeELMnHEMZIkZr_6GT0jKQcOPDi35 Thanks for the quick comment! On 1/20/2025 9:00 PM, Matthew Wilcox wrote: > On Mon, Jan 20, 2025 at 09:18:49PM -0700, Jane Chu wrote: >> When a process consumes a UE in a page, the memory failure handler >> attempts to collect information for a potential SIGBUS. >> If the page is an anonymous page, page_mapped_in_vma(page, vma) is >> invoked in order to >> 1. retrieve the vaddr from the process' address space, >> 2. verify that the vaddr is indeed mapped to the poisoned page, >> where 'page' is the precise small page with UE. >> >> It's been observed that when injecting poison to a non-head subpage >> of an anonymous hugetlb page, no SIGBUS show up; while injecting to >> the head page produces a SIGBUS. The casue is that, though hugetlb_walk() >> returns a valid pmd entry (on x86), but check_pte() detects mismatch >> between the head page per the pmd and the input subpage. Thus the vaddr >> is considered not mapped to the subpage and the process is not collected >> for SIGBUS purpose. This is the calling stack >> collect_procs_anon >> page_mapped_in_vma >> page_vma_mapped_walk >> hugetlb_walk >> huge_pte_lock >> check_pte >> >> It seems that the most obvious place to fix the issue is by making >> page_mapped_in_vma() hugetlb walk aware. The precise subpage in the >> input is useful in providing PAGE_SIZE granularity vaddr. > I don't like this solution because it adds yet another special case for > hugetlb. If we don't split a PMD-mapped THP, we'd have the same > problem, right? > > check_pte() would succeed if we set pvmw->pfn to folio_pfn() and > pvmw->nr_pages to folio_nr_pages(), right? I just don't know what else > might be affected by that. > > I like one of these two options: > > @@ -206,6 +206,7 @@ bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw) > pvmw->pte = hugetlb_walk(vma, pvmw->address, size); > if (!pvmw->pte) > return false; > + pvmw->pte += pvmw->address & (size - PAGE_SIZE); > > pvmw->ptl = huge_pte_lock(hstate, mm, pvmw->pte); > if (!check_pte(pvmw)) > > (that needs a bit of tidying up; you can't just do that, but I think > you get the basic idea -- correct the pte to point to the precise page > instead of the hugetlb pfn) That'll work, let me think about how to tidy it up.  More below. > > > The option I really prefer is much more work but matches our preferred > direction of getting rid of hugetlb specific code. Something like this: > > @@ -192,27 +192,6 @@ bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw) > if (pvmw->pmd && !pvmw->pte) > return not_found(pvmw); > > - if (unlikely(is_vm_hugetlb_page(vma))) { > - struct hstate *hstate = hstate_vma(vma); > - unsigned long size = huge_page_size(hstate); > - /* The only possible mapping was handled on last iteration */ > [...] > - pvmw->ptl = huge_pte_lock(hstate, mm, pvmw->pte); > - if (!check_pte(pvmw)) > - return not_found(pvmw); > - return true; > - } > - > end = vma_address_end(pvmw); > if (pvmw->pte) > goto next_pte; > @@ -229,7 +208,19 @@ bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw continue; > } > pud = pud_offset(p4d, pvmw->address); > - if (!pud_present(*pud)) { > + pude = *pud; > + if (pud_trans_huge(pude) || > + (pud_present(pude) && pud_devmap(pude))) { > + pvmw->ptl = pud_lock(mm, pvmw->pud); > + ... > + if (likely(pud_trans_huge(pude) || pud_devmap(pude))) { > + if (pvmw->flags & PVMW_MIGRATION) > + return not_found(pvmw); > + if (!check_pud(pud_pfn(pude), pvmw)) > + return not_found(pvmw); > + return true; > + } > + } else if (!pud_present(pude)) { > step_forward(pvmw, PUD_SIZE); > continue; > } > > ie get rid of all the hugetlb-specific code, and add support for the > PUD level to the common code. You'd also need to write check_pud(). Good idea!  I'd like to give this more generic approach a try as well. > > I'll understand if you don't want to do all the extra work. And > thanks for tracking down this bug. Thanks a lot! -jane