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 5FED4CE8D5D for ; Thu, 19 Sep 2024 07:49:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C8EC06B0085; Thu, 19 Sep 2024 03:49:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C17666B0088; Thu, 19 Sep 2024 03:49:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A435D6B0089; Thu, 19 Sep 2024 03:49:29 -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 7CA8B6B0085 for ; Thu, 19 Sep 2024 03:49:29 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 253651A0B09 for ; Thu, 19 Sep 2024 07:49:29 +0000 (UTC) X-FDA: 82580712858.15.97CC503 Received: from CY4PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11020095.outbound.protection.outlook.com [40.93.198.95]) by imf16.hostedemail.com (Postfix) with ESMTP id 319F5180002 for ; Thu, 19 Sep 2024 07:49:25 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=os.amperecomputing.com header.s=selector2 header.b="UeX5ED/j"; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf16.hostedemail.com: domain of yang@os.amperecomputing.com designates 40.93.198.95 as permitted sender) smtp.mailfrom=yang@os.amperecomputing.com; dmarc=pass (policy=quarantine) header.from=amperecomputing.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726732054; 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=oEj1yi8WLHHOgLOrPscFRNtt3trAmTCi8HqJ6Dv/EgI=; b=FriswrqSvxUATSnNmGUecTyojXhgDeMBYDVnZRGHCIp9RtggKMrVs6i2GckHEYwIh0DkbV Q5ukfrkO2RX1vPhj5/gwSlobTaqTjgk01qhbapfagTcPyVlKBwT1IaghpUHHWMnoTaVff7 Xxp+XwsEkcirDU0pL/3kbjMV4O7EftY= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1726732054; a=rsa-sha256; cv=pass; b=fktl3O6sviG6hBHgb8fjmVXANQ+cIeY79FUmUme7DZ9qMefScARZ/0qtIYHjHGW1QP1Oib qAMWXi3r9QvXkrXwktuQ0EsKmPAuPADcPwoJwd3SvihETHWPqXlCB080BKXHID/lg41738 aXrir4flAhYeUB69ywKce1q778247mw= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=os.amperecomputing.com header.s=selector2 header.b="UeX5ED/j"; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf16.hostedemail.com: domain of yang@os.amperecomputing.com designates 40.93.198.95 as permitted sender) smtp.mailfrom=yang@os.amperecomputing.com; dmarc=pass (policy=quarantine) header.from=amperecomputing.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ywTnUzF2lZmZ/zwxivLvDV7URLAxMF2zdCb0MlRdQa5Buj+HDf8kDLw5f1TbrlV26L3+rrIAgLHVtwbVrItuXdVKA4ty5NWpHsRfElwvsEwdRiD8apx2wIoGzeZgEU8qwDXn9cLRUeTtMAt38+YsHNTZOjcXF7q4qiO5Y0/2EZdrDBf/gkFswqydiay6Utp3TcIPrdpjmpIMvQVzVFCCe2WYWpzqn+tjuBjZhKBZt9ISt0RxnXjEch7p9W0fgUu0YjW7SJD9bkFyKJZv7zEyGWEOSXDk6a6GMVEXi8OBa/YNjM7OMQn6c5MqJCSeA0jSxAjlEmU44xuyyyw+uZEcUQ== 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=oEj1yi8WLHHOgLOrPscFRNtt3trAmTCi8HqJ6Dv/EgI=; b=ZRUf7cMVxZqVgZbCm7SHu89hbM0370HBhH5WS85saArGB6bCS+lRxYoiYZBb4V+JagBgnvnDZrqYKJV9l1ky8zUvfYNLdDsFihIJ1yhpzZ8NtVdUUSRsoKR3IGQYjx2LsQbphnJDvCrpirChukkutzVRXU8nUOXgsllvoa8gl1D3GKUSVF0FW1Acql0o868ifWDgC3O6Tss9Y89VEFfWLqFZ5kyCzJZvZ7+6g2LglPBwfHP+IW5AmVppgewoCaDtP78Cyv5XeJDBfwDHBFRsgxzvXffUfIjxOOcVgpIhlWyYR7l/kriEx90NzCt3r2I14MWomtqcON03rtCfz3/IMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oEj1yi8WLHHOgLOrPscFRNtt3trAmTCi8HqJ6Dv/EgI=; b=UeX5ED/jFntf0O2yJrEoEAxhd1cs8u76qzOBYLdYhtm55PtjGsxnhSJmpN+2tspzqTSwQ1sRFIReWAYyWE8t2oh6eZC9FWbW0vYQyhPeZ+d0/7+zbs81vQIRfCVsrzcX7sWagDeuWt/y+WX5tWVXki6d9o1lhVDMa9wGoicRk6o= Received: from CH0PR01MB6873.prod.exchangelabs.com (2603:10b6:610:112::22) by MN0PR01MB7681.prod.exchangelabs.com (2603:10b6:208:378::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.23; Thu, 19 Sep 2024 07:49:22 +0000 Received: from CH0PR01MB6873.prod.exchangelabs.com ([fe80::3850:9112:f3bf:6460]) by CH0PR01MB6873.prod.exchangelabs.com ([fe80::3850:9112:f3bf:6460%5]) with mapi id 15.20.7982.018; Thu, 19 Sep 2024 07:49:22 +0000 Message-ID: Date: Thu, 19 Sep 2024 09:49:18 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [v5 PATCH 1/2] hugetlb: arm64: add mte support To: David Hildenbrand , catalin.marinas@arm.com, will@kernel.org, muchun.song@linux.dev, akpm@linux-foundation.org Cc: linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20240913183404.3517556-1-yang@os.amperecomputing.com> <51dd74c3-5da9-4ea0-8298-3ac843c6a843@redhat.com> Content-Language: en-US From: Yang Shi In-Reply-To: <51dd74c3-5da9-4ea0-8298-3ac843c6a843@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: VI1PR07CA0298.eurprd07.prod.outlook.com (2603:10a6:800:130::26) To CH0PR01MB6873.prod.exchangelabs.com (2603:10b6:610:112::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH0PR01MB6873:EE_|MN0PR01MB7681:EE_ X-MS-Office365-Filtering-Correlation-Id: 4f88861c-9dbb-450f-0bf9-08dcd87f9368 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?MHpoT282YndVT2V2UWlhOXFXV0tIcFZDeW9WbFB6VUUvUnBKY3RoMzFyV0dB?= =?utf-8?B?eVdIWmJyMlgxTnVjdGVBVzZVYXlzQzk4ME9aSW5Cb2dqQzBIdU1sbUVNcnBo?= =?utf-8?B?TnBVRzlpNlRwaVdWVXBDOUhOS3YyZ1BOcEZGUkFUN0FkenJNT2VNQzZqVHF3?= =?utf-8?B?T01wZFVEZmZTdk5uYTU4RUMvRlZidndZR1NvVnZMZ0Jaa2VBQVVOUDFDS0RV?= =?utf-8?B?MGdiS3BhVWpjYzZtOHlNNVZ3bkcwQmlYUDZLa20vK2FIaUFhUWROUXFGQ3ZT?= =?utf-8?B?Mm9FRDNJZGVGTnBWaWhqY2xGVUZZU2JMSEVwcW1jSDFVRXBxdHhiUGZjdHhh?= =?utf-8?B?Y3FqMk9QYU9vZE9zNHl2clExeXB5UnVOZHRQM0dhRktpT0NUQXl5V2VpeUpD?= =?utf-8?B?ZjZtcGREdHU2MXdpaUxZenE0SWZyMzZRSnhQK1cyT2pJWVV6MkZpbkxpY3lT?= =?utf-8?B?OE9oTHFRb09NcGdDc0Vsai9TZUZQS3hVOTZhNVh6OFV5dmNaZi9BaVB3SVBV?= =?utf-8?B?VWYzRG96UDFFc0wyVkFxdlRMSjhva01UU1M5bExmQ3pkc2JzdXdVU1hxN25j?= =?utf-8?B?emRkbG50TWhuY21lcGZtVVlqNUFQbFNHU3lPdXg3MnNHTEpTV2RWM2xPV1hV?= =?utf-8?B?cVVEbm0xeXljQ1dGaWdHNU80STcwUlFXSHozMjRzR3BiZTQ2V1FlVHV6ZzR2?= =?utf-8?B?WUxvNCtvcGw2a3NxUGlNajE0ZSsxL3JDQ09POUwxVmR0Kzl0RlM1VXdKdWNB?= =?utf-8?B?WkUvYkxMWjN2bUFQOGtzdkROMTZqeUtKdXB4eTRCem5iRDRqV2wvMWtidjBM?= =?utf-8?B?blNiS05HVENCQnR6dTdNc1BRVmVxKzJCU0ZZWmVJMGhUYnhnK1g3c3pGUGlW?= =?utf-8?B?ZGpuc0h2dTlnOGJjYjZ2UE1aTHJNNDFpYmF1UC9pUFh0Z0lDQnZDdnh0Z3VT?= =?utf-8?B?eWFHVFh6cHkvRWJYc1V6V0ZuazcyeXhIU1BDSUJUYm9mSTRSMUxZMWZDakJR?= =?utf-8?B?YTFjYUdIY01NeUN0SGc1RmNyZmdmNVlXelBvZEJqWTNLaTV4UXp0cGE2bmE4?= =?utf-8?B?U0pZZTBpS2ZjekFLRUdoekRuVVN0b1hrYTFxd0FNOXpNMm41MFc0Vkw5MllZ?= =?utf-8?B?bzVzS2RPRHNGbzMyUUhLVHNsdW83ZGNsN0pRTkkyWHpRWVZMa1ZJam1ORFdW?= =?utf-8?B?dDJ3Q28vQzljL1RqaWRGd1Y1K05tNHdrQ3ZidTQ3ZWpzNVlQdjFzTm5OSkZS?= =?utf-8?B?VW1XN1V1UGZ3U21xb3p3K3VvWkxVLzVTVGlHV05qYzhqc2hCNHhGTmtzQjNr?= =?utf-8?B?NGE4YVJjNzNWaUl4RmdyejRYeVVUbEwxWVNsNjJZbGNCY21RYnNsV1lNenVY?= =?utf-8?B?eWFxc3lVbEMvMko5Y3p4ZGxsTGFGMFcyS2FWUkpLb1Z0ZnNwWWdwRlhHMVc4?= =?utf-8?B?dkRhRkxtZFFlaUpzOG5NbkozVmNuYTVCQytESGRicnI1ZzA2aFJDRnJGMXVn?= =?utf-8?B?YXhjQWQzWDFHbXlOTjA4Q1k2aGo5QmhPMjV6OGdoNTJzbFZKYUwrZDBIZ1RT?= =?utf-8?B?a2RJbXZqdERCcE1wcktSWjRwR21mOENwdW5Nc09rOFFkYjhMNVJFV3R3d1d0?= =?utf-8?B?a1lqcmFSOGJ5S3pSRGFnWnYzMHNCN1NPUHlzaWdKc0RwMTYzVnFyeGdUd2No?= =?utf-8?B?c2xodFZzN0dZY2tVdE1Ea0wvd29lR3JPTjJnYkY2c2tGaW5CUWw0U3BDTW45?= =?utf-8?B?eGg2VnFsUDU5WHRjd1lBc1RhVjNCVEdnKzF2VDNtOExSSEFnMTVJQmpXMzlT?= =?utf-8?B?d3R4dHEwazA0eWpPWk5Zdz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR01MB6873.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VjcxSkdYR0d2NVFFdlZaSUxBRytFVXRoTFRpSDZBOUR2ZW9XTUJBRVRXNDNV?= =?utf-8?B?S2Jpc3Myc2NFNmxRU00xMG1TaDg5RnRpYllqTkwrNC9OVFRwQzdGOWJSZlVi?= =?utf-8?B?Zmd6NXpHTGljMkUyTkx6WDlLd3JINWx5OTg3ajFDVi9hLzl2bXgwRWhwS21k?= =?utf-8?B?NHowbm5tL1IxOGRILzBIeFRQYkQwV1dxakpqczlhMFZzMVlOVVlRc0wvV1dm?= =?utf-8?B?eG1ONlVVOHFxRFBBQVJkY2ZoT2FSazFwOXJqamVUMmhGRy9nWmRHbmFmSFpT?= =?utf-8?B?WTBFTlI1N3NndllmZ2hxbHJrRmhXVmRCaVllK3NWaGRxUkUrLzRoYXU5dTVu?= =?utf-8?B?dUhpV0FnSkwyd2tHQXphcGtJdTE4Tm1YMkEzVm93bHVNT2w3ZjNYV1FPK3VY?= =?utf-8?B?Ym56OCtNUm55WUZwN1RsOVpXeSsyYUMzU2gxQlJhSkhzMTh1VUVCTGZRSmdX?= =?utf-8?B?c08zYVpKb0JmWGd5UDgxKytIYnF4MEZhSlJTelVWY3pKNm9PckZNYVg5ZFla?= =?utf-8?B?cXNmMThZS25lTisxb0JIV3FnTXNzSlI4ZWhRbW5Pa2JveFdXM2ltMmdUQW9I?= =?utf-8?B?bUdydk9nZ3hGeFA4K3g2OHQzY09uNXMzWnBnWWF5YXY0Z2l5bFQyRTNlWFdk?= =?utf-8?B?MkJMOXNFZzZTb25uYzBENDlLSkFKZ2Q3dG50SEFOWDk5VWhmRkJHZFVLS0hj?= =?utf-8?B?Y2VzcEErdTcrWG5qOUJoMkdUK2dWOVIweGFLc08yUncwY2h1QTF0aDE1Y3NO?= =?utf-8?B?ekIxV1FvZDJ4T2JPRkFTaEJubjR0WFVsT2FzUVBjSWIxSVdpaXFTYXYzVmx4?= =?utf-8?B?UjVoL1hjZ3A0clE4ZmdsUG82djZrVTVkWDdrYVU1QldJVUk4OTFGU1Rrc2Jm?= =?utf-8?B?OGdjeW5YZS9jblRtRGN6Q1ZzUFlDb1V4RjF1Y2pMdjNNWjIwYWxSVVFoTWdl?= =?utf-8?B?Mm9MUENnQnN2d0ZTaU44cGZVdk5ZQmxSa3pTQTVtR3BHVzg5Q3M2MHovSEtM?= =?utf-8?B?ZWpVb09IdDFJa2NzUW9lQ2Z3eGZReEFjRVpWZzFjQmlGeWhXTDRKS2ltVW9y?= =?utf-8?B?anNPWWtqNzU4OGlkclpIMFVaUEFxanV4cFdLK08rVXM3M0F1TEhJVmdhV3h2?= =?utf-8?B?aHljSkJKdHBZdDJYN1A2dnlKU213Sk9kT0JPdjZBKy9XM1lIOWkraE9zN3hw?= =?utf-8?B?NjR4Mkdla1ExdWJBZEdSUXRDcElNbFR2SmF1cVpWenluOCt5MTh4SUYwYllB?= =?utf-8?B?SUxWVnFSUG1hYVFGRG1hY2pqV09NVUtQUnY5bHpFYk1KSis5alhsU2YzenJ4?= =?utf-8?B?T0FURUE0czEvcGV3NjhlaDdmSFFNbWlLc1ZqSlRxSkJNODVqRWtHZGFMblZU?= =?utf-8?B?aXVidlJEb2J0YnVxTFAzTmN3MVZpUVlVU29sODA3bHVpQ2RYVVFkUW5BSmF1?= =?utf-8?B?RUl0SVgvVWpEeFM5dC9CSUI0Y09GYmdLY1BGSVVScGs0cEgyZkNVSzgwWk5p?= =?utf-8?B?WUpMQ0FaaElhdVhTQzZxMXpQbEpNUzRUbDY5WjBYUFI2Y2VIM0srQ050VVJz?= =?utf-8?B?RFFBM2tDOUxpa2Q5U3Rna1BGSHA0MGE1VjlRcnp0dTRzaHRQYlhXL3lGemxx?= =?utf-8?B?YkVIeHQ4TGN1dkNJWkVHL1B6U0RZNGNrMFdjVDV0dk4ydVdDaXJCazcxNEZG?= =?utf-8?B?aHhyN00vWGdBNnZUd2tlQ2YxK08yWURnVW1CTzRhbnR2YTNRNWxYZWtrS2pM?= =?utf-8?B?WUhUdHVlaDdmNU5UMC94blkrblJtdXV6bm1LNE9HWmxQVVVHMWZZb2ZiR0d4?= =?utf-8?B?OUhMNE5XMHErWkhJQUI3UjlBV2x5bUdpKzRNamhJMkViWWNDdEFZaldhRkp5?= =?utf-8?B?QkpDL3hTbWhMOEtrSGg1NjhCQXAwQUZ4NFJGcHdzRFFDR1QyQ2VuK1BuV1pr?= =?utf-8?B?dkVMenlwczhDbDUwa2R1eFpMT3lNbGtYd3Bmdy93eGxIZHpPeDVWVmk1S3Bo?= =?utf-8?B?U0dBMEt3cWxYUDRMc0ZGSGdCcWRaQk1jemlBeHNiOXJuS2xZS04xeW1Oc0Ex?= =?utf-8?B?cnVIWEs4R0ViRlhMOVJDczQvbUplYXZKZGdONzdDZk1oSldhaUNsdlFTWTZG?= =?utf-8?B?Tkk4cExzV3UzcW5QU1I4cGxGbEJCMFVncjJoNFFWc0ppRGpkUllHV0RHNWxV?= =?utf-8?B?ZXc9PQ==?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f88861c-9dbb-450f-0bf9-08dcd87f9368 X-MS-Exchange-CrossTenant-AuthSource: CH0PR01MB6873.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 07:49:22.7195 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zowfcnvhyon14hjJYS3NFQyUEkEGBPoyevAr5bwde2Z1tf15TXx3O0rpFySj9HM4mszyEwQZ33inWv0AV6tj8uS1y/iFgXI46ryKGk72Q6w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR01MB7681 X-Rspamd-Queue-Id: 319F5180002 X-Stat-Signature: ejfmadmddpquf8buo1zykijpcsprnjjc X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1726732165-67095 X-HE-Meta: U2FsdGVkX1/risflu1X9PC6FwFBBsY7ibXoNJkgANQA+KkRm80ld++aJZIXBuD4YYvm6OWJJJTHmpQM1ZTOL+5RMA5yo7HJxbzzO9rP70iZYuRF0Xe90TSTfgj0/PktHKwDvD3+Bkc0uKzwfrNP6VAM9na7h6Nd6ZW5BGAKOmTBW/TcQq+IDOD1/LdJbH3SkOBj/jZT0pSaUJfOcCIHQV6WSh/IhSj9GdI4A0IKFnduzXpIiBeuV8LwD2OpJ6resqpM72ZTzz7ENKcMOl6Fwu7DQj3OO+DNVEvPHKpT6EjxV5eLpzOn7OjlMB4pBzF+XDkcyXgfPX+njROMlB/OBVRDi/cJeBXbiiySFKU9RW5mN5PimjxQ6XfRctko3YrYuvbQc9MWSaF2WgGEXWk7K/8YUphCJp5SIfsIJm2wz1em83UzemLcVA27zUUj9TR5O9wdVD8+mBvUysa/iEWhTSMCllNXpbBwEw5dFzBqdbArCip82mmuRmYDooten7nLaALT4XMRXgGtrVlhSXdZes4jArpOlJ3mLyVtwO/BYZIxH8mkL2kXUxJi62SGY4QtuUR0OlIvB4sRn7oIFnXSNWVrM3LuimZTIfuoa5HCjElo88HkMlAUqzBOkfLFvO0nxB5Grsp7/jwlW2Ww3a/mdIRABo7GS2fN1S8TIk85EJUDuvCgd4+keUHktUEtxBtSMzMZqkjPyTyek3I9ULeHexTo2NeOH8x6yUkvpf6CqBvpUqMyXAHnNQcIC61Tw67GowDxR9ywwBHRihFNxqyh9AH2AbdY4qiTEQ1P/WfsTD0mjSig1YO4y9LqcqCAu45o6P9CjDs7xh8PxWLiibOVoj+8GxSm+XyG8vTDi+Eo7UPkaW7fRigR6qEvok5WwawW+I/ckMwO6r8807hjxsY4caKhkhFISklV1WS0m3Coq8Kf9vbLmni69Qow9Z2weJvfk0xBw96bWSczGciB5c5i qmu4ZZdA JphcM/0eFIcIR42nbwbdbjFznKMT1Rgc+t3lLaq/2y7r8vV8OSo74iXe+cPgPSVL6eXDNMJfXMQqzYtDcBD3LJZL9cezSgUeJFxTT4WNrH8bOyIOE5MTJj6yJxWEx597DPk3BXLOn5Kh/oG11OwIBRB2C1zd4y8ZGANclT/qvbJvt3eWar9Uhvi03YSyU9K0CzNot33RcYJWV5dqfcvk/0QucnA/4YicVKwjE97FdW6pNpkLmSXKyo7mE45+JDfdDCJ+2lfPB73klxmI29naLW+dkIJg57V14pBVd7BvL26Bzm6pCmoGYwvV3VIC0sjD2UyGG+X+sR4YQFBYFhHVDHzLNPP2155L2HSvT2CMIkzga6EIkv1dztu21cLFW1LJb3ed4c1AshWEAUF3B9EtSSO849AK6urXJzhX7b44tVzgwps9GxkLdg6rJCs+V40OFtwMVDwC9ze3E0ayFfRNNQYENBLVOZgy/APkivmzJclJp4fw0wRFL2NuwjnVwO6WW2Jhv 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 9/17/24 3:36 AM, David Hildenbrand wrote: > On 13.09.24 20:34, Yang Shi wrote: >> Enable MTE support for hugetlb. >> >> The MTE page flags will be set on the folio only.  When copying >> hugetlb folio (for example, CoW), the tags for all subpages will be >> copied >> when copying the first subpage. >> >> When freeing hugetlb folio, the MTE flags will be cleared. >> >> Signed-off-by: Yang Shi >> --- >>   arch/arm64/include/asm/hugetlb.h |  8 ++++ >>   arch/arm64/include/asm/mman.h    |  3 +- >>   arch/arm64/include/asm/mte.h     | 67 ++++++++++++++++++++++++++++++++ >>   arch/arm64/kernel/hibernate.c    |  6 +++ >>   arch/arm64/kernel/mte.c          | 27 ++++++++++++- >>   arch/arm64/kvm/guest.c           | 16 ++++++-- >>   arch/arm64/kvm/mmu.c             | 11 ++++++ >>   arch/arm64/mm/copypage.c         | 27 ++++++++++++- >>   fs/hugetlbfs/inode.c             |  2 +- >>   9 files changed, 159 insertions(+), 8 deletions(-) >> >> v5: * Indentation fix and renaming per Catalin. >> v4: * Fixed the comment from David. >> v3: * Fixed the build error when !CONFIG_ARM64_MTE. >>      * Incorporated the comment from David to have hugetlb folio >>        specific APIs for manipulating the page flags. >>      * Don't assume the first page is the head page since huge page copy >>        can start from any subpage. >> v2: * Reimplemented the patch to fix the comments from Catalin. >>      * Added test cases (patch #2) per Catalin. >> >> diff --git a/arch/arm64/include/asm/hugetlb.h >> b/arch/arm64/include/asm/hugetlb.h >> index 293f880865e8..c6dff3e69539 100644 >> --- a/arch/arm64/include/asm/hugetlb.h >> +++ b/arch/arm64/include/asm/hugetlb.h >> @@ -11,6 +11,7 @@ >>   #define __ASM_HUGETLB_H >>     #include >> +#include >>   #include >>     #ifdef CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION >> @@ -21,6 +22,13 @@ extern bool >> arch_hugetlb_migration_supported(struct hstate *h); >>   static inline void arch_clear_hugetlb_flags(struct folio *folio) >>   { >>       clear_bit(PG_dcache_clean, &folio->flags); >> + >> +#ifdef CONFIG_ARM64_MTE >> +    if (system_supports_mte()) { >> +        clear_bit(PG_mte_tagged, &folio->flags); >> +        clear_bit(PG_mte_lock, &folio->flags); >> +    } >> +#endif >>   } >>   #define arch_clear_hugetlb_flags arch_clear_hugetlb_flags >>   diff --git a/arch/arm64/include/asm/mman.h >> b/arch/arm64/include/asm/mman.h >> index 5966ee4a6154..304dfc499e68 100644 >> --- a/arch/arm64/include/asm/mman.h >> +++ b/arch/arm64/include/asm/mman.h >> @@ -28,7 +28,8 @@ static inline unsigned long >> arch_calc_vm_flag_bits(unsigned long flags) >>        * backed by tags-capable memory. The vm_flags may be >> overridden by a >>        * filesystem supporting MTE (RAM-based). >>        */ >> -    if (system_supports_mte() && (flags & MAP_ANONYMOUS)) >> +    if (system_supports_mte() && >> +        (flags & (MAP_ANONYMOUS | MAP_HUGETLB))) >>           return VM_MTE_ALLOWED; >>         return 0; >> diff --git a/arch/arm64/include/asm/mte.h b/arch/arm64/include/asm/mte.h >> index 0f84518632b4..03dc43636aba 100644 >> --- a/arch/arm64/include/asm/mte.h >> +++ b/arch/arm64/include/asm/mte.h >> @@ -41,6 +41,8 @@ void mte_free_tag_storage(char *storage); >>     static inline void set_page_mte_tagged(struct page *page) >>   { >> +    VM_WARN_ON_ONCE(folio_test_hugetlb(page_folio(page))); >> + >>       /* >>        * Ensure that the tags written prior to this function are visible >>        * before the page flags update. >> @@ -51,6 +53,8 @@ static inline void set_page_mte_tagged(struct page >> *page) >>     static inline bool page_mte_tagged(struct page *page) >>   { >> +    VM_WARN_ON_ONCE(folio_test_hugetlb(page_folio(page))); >> + >>       bool ret = test_bit(PG_mte_tagged, &page->flags); >>         /* >> @@ -76,6 +80,8 @@ static inline bool page_mte_tagged(struct page *page) >>    */ >>   static inline bool try_page_mte_tagging(struct page *page) >>   { >> +    VM_WARN_ON_ONCE(folio_test_hugetlb(page_folio(page))); >> + >>       if (!test_and_set_bit(PG_mte_lock, &page->flags)) >>           return true; >>   @@ -157,6 +163,67 @@ static inline int mte_ptrace_copy_tags(struct >> task_struct *child, >>     #endif /* CONFIG_ARM64_MTE */ >>   +#if defined(CONFIG_HUGETLB_PAGE) && defined(CONFIG_ARM64_MTE) >> +static inline void folio_set_hugetlb_mte_tagged(struct folio *folio) >> +{ >> +    VM_WARN_ON_ONCE(!folio_test_hugetlb(folio)); >> + >> +    /* >> +     * Ensure that the tags written prior to this function are visible >> +     * before the folio flags update. >> +     */ >> +    smp_wmb(); >> +    set_bit(PG_mte_tagged, &folio->flags); >> + >> +} >> + >> +static inline bool folio_test_hugetlb_mte_tagged(struct folio *folio) >> +{ >> +    VM_WARN_ON_ONCE(!folio_test_hugetlb(folio)); >> + >> +    bool ret = test_bit(PG_mte_tagged, &folio->flags); > > Nit: VM_WARN_ should come after "bool ret" ... > >> + >> +    /* >> +     * If the folio is tagged, ensure ordering with a likely subsequent >> +     * read of the tags. >> +     */ >> +    if (ret) >> +        smp_rmb(); >> +    return ret; >> +} >> + > > Reviewed-by: David Hildenbrand Thanks. Will fix the nit when I rebase the patch after the merge window.