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 28F8EC30658 for ; Wed, 3 Jul 2024 00:05:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 97D196B009B; Tue, 2 Jul 2024 20:05:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 903FD6B009D; Tue, 2 Jul 2024 20:05:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 707FB6B009C; Tue, 2 Jul 2024 20:05:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 47EA66B0098 for ; Tue, 2 Jul 2024 20:05:01 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id D6EAFA0639 for ; Wed, 3 Jul 2024 00:05:00 +0000 (UTC) X-FDA: 82296495960.28.6F30329 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2120.outbound.protection.outlook.com [40.107.244.120]) by imf12.hostedemail.com (Postfix) with ESMTP id D427940012 for ; Wed, 3 Jul 2024 00:04:56 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=os.amperecomputing.com header.s=selector2 header.b=UBSlFX3+; spf=pass (imf12.hostedemail.com: domain of yang@os.amperecomputing.com designates 40.107.244.120 as permitted sender) smtp.mailfrom=yang@os.amperecomputing.com; dmarc=pass (policy=quarantine) header.from=amperecomputing.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719965086; 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=lDTjmauHgFhzWq93XLXeQtj/jhSUWrUM496gpNXQjD8=; b=Q5P/vIaDrb81t3nAxnsXiKNInB+UJsnopWoLCqQwTLT9IKS2gB/PBf3Jmx7cbcALdvPC3G u9n6CCCz0oaWWiLTmjs6xFQU7wSi2uSccA8Uc6w3yDMt2PkrQPBYK5jBcAAjwvhuGnSUJd vZDaM27abKxjTyxPcUcM5quPvs55BC4= ARC-Authentication-Results: i=2; imf12.hostedemail.com; dkim=pass header.d=os.amperecomputing.com header.s=selector2 header.b=UBSlFX3+; spf=pass (imf12.hostedemail.com: domain of yang@os.amperecomputing.com designates 40.107.244.120 as permitted sender) smtp.mailfrom=yang@os.amperecomputing.com; dmarc=pass (policy=quarantine) header.from=amperecomputing.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1719965086; a=rsa-sha256; cv=pass; b=fyHp/lCqe3pl94Rfkt0cfjUPrgqttapQnN1CRruLmL9Yz/cjbgfrAf5wsKd1oKjsWO47CP 8RmOsQzEwU6YY9k+LZ90MnbhGUNW+IMl3/ZdEQqOUQkZAcu839t7Hra7oPgE1xDhix7cf5 gGIiAu5KtXMuY6JYi/ZVZ0DKRcKGPo4= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HQ8z5aHbippSJAic5aEXD0ZtqHQUInOSMcyqwigcAwTGQCb87VVRZyVTfSseqg0ynamq2QeEFzIiiLN/8unHCf+5f8x5bN1USR0GxQisdEM4StVHTJNg47EwD+oYRqbw52yhiajSvsqbp97/imDblM9tD+TpP4Lr8Ppk5DaKijxt6iuBNrYlJJff7IDM9Lg+oUi2geZe3nU0ASXxEPYtb1Zt6pJ6legqoDe8YQelterFq5XXRM6/nBlbBRaZa4q+z5s/Hsz/yNbSK1nX2LzVToIqMhEMVFNK2Nzofye4CDBpRSLxv5HRB7WbC6ghsJqXA/Z4qxNXsL30EuHjlGVpDQ== 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=lDTjmauHgFhzWq93XLXeQtj/jhSUWrUM496gpNXQjD8=; b=K55jdDmkofI9w+0mdnJ2j96AGuf/cv6oqdm0/l7kiblWIz2lM/J2LVegyvk5NYiIhQQEdhNMlrF6vzmLPi6gTN9wqzfieektYnXWZl9D9wcJViSxCQBO8ooZCvQzRyFWqCiTU8/D4VPq3fJBn6tlVsMfxgrX2KXKxMaVVORbaKDyUSpFuxdQL3xc0yi41++9Ba3KiAkH0cgb8V+HqCwOWBfkMx9Rctx8nb8TcnG/v+PYUhuqXvAF4SiVBLfZhiAJ4HCiTlcEJHxJljYVc6mE7/sLdpcv/uFvMgOYrhuo+qisuWkrOD+kJeQhxIw+77HNaUSH/QSk5zwwWEUYjQIoHg== 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=lDTjmauHgFhzWq93XLXeQtj/jhSUWrUM496gpNXQjD8=; b=UBSlFX3+VKUxoflxQwn/E7zobMY/m6PVUnKGr/aKa80f4Dj1nSQNfjuhQ1q+wTTHiiSjJ0SKcJh33iWVMOVwzdDUz/Cwr9yT/EnilpNbmoofr1vpnsm0uFGWI8eMhvYak0dj0OZ7mYAzWqeUCAoJvROu28HEe7GaYc5dsB/R0XE= Received: from BYAPR01MB5463.prod.exchangelabs.com (2603:10b6:a03:11b::20) by SA1PR01MB6640.prod.exchangelabs.com (2603:10b6:806:1a4::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7719.32; Wed, 3 Jul 2024 00:04:52 +0000 Received: from BYAPR01MB5463.prod.exchangelabs.com ([fe80::4984:7039:100:6955]) by BYAPR01MB5463.prod.exchangelabs.com ([fe80::4984:7039:100:6955%4]) with mapi id 15.20.7719.029; Wed, 3 Jul 2024 00:04:52 +0000 Message-ID: <7a4a60af-e471-484b-a4a3-ed31daaca30b@os.amperecomputing.com> Date: Tue, 2 Jul 2024 17:04:47 -0700 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] hugetlbfs: add MTE support To: Catalin Marinas Cc: muchun.song@linux.dev, will@kernel.org, akpm@linux-foundation.org, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20240625233717.2769975-1-yang@os.amperecomputing.com> Content-Language: en-US From: Yang Shi In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: CH0PR03CA0223.namprd03.prod.outlook.com (2603:10b6:610:e7::18) To BYAPR01MB5463.prod.exchangelabs.com (2603:10b6:a03:11b::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR01MB5463:EE_|SA1PR01MB6640:EE_ X-MS-Office365-Filtering-Correlation-Id: 0a77d9ab-9b7e-4296-b9d6-08dc9af3c355 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VDhMK0l1Mk84UWZ4MW5HNk1KOGtBaTEvM3p4MURJbFhLU0g5bEViYm1ZZ1pX?= =?utf-8?B?WHlpam1JY0hWa1QxMENsYXNxTTdFWVIxdHU2K1RJNys2ckYwQVNudEJkUFRP?= =?utf-8?B?cHBqU3JMSm9PK3R3STVwNHplWXdOSVZUVGpIN0lZQjZ5dCtmNjljQkZqcDNi?= =?utf-8?B?QjFMdEZQTjU0L2VrUHRpby84LzRCOFVJejNTMjB2TDhXTzV5U3dkTGp3SzhI?= =?utf-8?B?Wnp4ZGhDb0N2MDNQYTNwUVNRQVVFMnhQUWJnVVh2NVpXdEljSjZ0NkNKY3gy?= =?utf-8?B?NHdwZjQzMWY5bTU3TmFXSnZIaXh3ZkhiTkpXMmJISmIwNEcyellRb1FuRmxw?= =?utf-8?B?bnQ1QzBjTG9oWFJDMEtZK2swc0JQcXJOeUI3Q0lqVFNnOHk0bGtBR2F2eGpY?= =?utf-8?B?RitiNEpBQmtPTEVKMFl3NGxlcHI5R0pKcDQ5N3MvUWtQNGxIREdBSnJLNW04?= =?utf-8?B?TjZtVkNBOE5CcTZpdXpRZUo2Sm5lZzhnZVNLTXBJd2kzTzFhYTN6ZnR0amo4?= =?utf-8?B?Z3VBcnJwdElRY2toS0x6RmFPSlk3THN5Ri9CTStISk96aUlFdWV0dFVPejh3?= =?utf-8?B?TlZrcStWZUM5NHVqbk5RdGZveDViV1VTTkN0ZE1RU05XelNyRzR2ZFZaQ25t?= =?utf-8?B?YS9aY3ZKcEo5dTF3cjV1bitCQVJNVkFyNUZlbDBTdHBaUFRucnpXdUNDQmRZ?= =?utf-8?B?RmQ3WlNXVGhjRk9yM21KSkJ3ZitkM1VET1ZHVDNram83ZXJUUDhUMkRHc0RI?= =?utf-8?B?QUt1dWdJNWgyNm1YcGpBOFFEVmRvOVVmbktlcGhkd2ZOV3BxTWltNENIVGdM?= =?utf-8?B?TFZXaVQxNXhuQTNnSVBobUJPNnNSSGRoSmdNa0pJdThMa3hiQXNiNkk0S1Iw?= =?utf-8?B?Sjk4d1V0ZEJDUGNnV0JEdFJHQVcrdW1ZM2RSc3NhenlhQm43THhUd3NtS0o5?= =?utf-8?B?M0pxZmNhaTNzWHBvL0RTSHlmUm41TEpJaUd6OW5idVV2TmQ3THBDVk53WnZa?= =?utf-8?B?TGhwQVo3bm5qTk1pRU5VemNJNEFVOE1DRGt5SWgrdC9LN3JUVnRQM1A5NGkz?= =?utf-8?B?R25qbEx1TEVYcjUrS2xnM3g4ZE9neENIdzhLa21YYTNTZ2xDSE1GeHZzUzZP?= =?utf-8?B?NENwVmJ4Y0ZXUFNJclRxRW00bFkrT3pEZFRZMWVjNnl1MSs4UmxPMDNaVmty?= =?utf-8?B?M2xvK2xXTTl1WmF4TjlqSnVtRE1XaFQzc0FoSUllVU9POGl4dmtsV0tScmJt?= =?utf-8?B?RDFreWR1cVREU3JPUHJjM1F5TTNpRnA4Z3lJRllMZDBuLzdybzczaU1wSWlW?= =?utf-8?B?SXR0bWd5NERDMVUwN3dLT1RZMG5DMHNmaTNoYlNuREh1M1pNSnJ6b0dxeWtB?= =?utf-8?B?SmFqMmhIOEpGdVdqV01QWG0vOGFhc1l0Y2N5UFp4QmtoQlR2Tjg2dEE1Rmtl?= =?utf-8?B?alBoVW9sdmQ1K05iNG1RMWpvWVhTSzQ1Tk5rSGdVOXJJMUVsbFJnUGIzOFdn?= =?utf-8?B?am5jR0RyRzgzSXVML3h4NHYraERIQ2Fpa0lTbGh5NTNNKzBuRHFOVDM5c3Aw?= =?utf-8?B?cDNiaUtoamRDTFIyd3dQZlhtaTNRdDlTeDl5TEg4MGluV0dDbkIzdXA5dTIx?= =?utf-8?B?THhOeHlobVRvWFNNYzhucFhpMHpwRUdDbjRUam5iNG84T2VCUFlhYlhMbDVt?= =?utf-8?B?NjQza3paV3J6d0U0bjUvOWFWNDZ2TG1hbkdBRWtDUmlEY0UvZG1MeStQejdm?= =?utf-8?B?b25tMTROZ2d1b2FRcXQ1Z21KcVMxZFBwSE5CaGV2TXM0SkVib3hXL2VKZjZ0?= =?utf-8?B?Yit0bFBpTkdHQ2xOemttQT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR01MB5463.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Ni9OSlduQU54RXFra0NnY1VKc3RlQTFtemFjUHdHV2FOQklkay9uUmdzWWMw?= =?utf-8?B?b2pIbkZTUElsUUdZSUg5TFRadHFxZytNbHZiQXkzNENidFNxUms4MFVFakRG?= =?utf-8?B?Y2lMTDVBZGNYYVlKbjNobUVJYmVLY1JBcytwTnVRalA0S2hNRGgwcDVEM010?= =?utf-8?B?OUFBcFp5VnhhYWJkZ2Y3YkRITXBpdnphMjlmMXV4THVOTUY5a3BUZWVkeXFQ?= =?utf-8?B?Wnl5Z0JWWWZib2plZDZxZERuWTVIcVFpbUk5UTVlSHZBb3NIcHZ0S2hWUkVW?= =?utf-8?B?NklkU04yWm9sSEhoOW9WWFUyNk96RlVtbDZaZUp2ekRFOHNxcGFOc3hQUzdG?= =?utf-8?B?YTVJUVI3eVhrcHNWVCtQMTR3V1RNN3Q5b2ZDeXM1UithWVJQYUgxbTdOaEdC?= =?utf-8?B?WGlRMEQzTi9RU1A5SnN0anlXN0RzY1p5ZVVWekl5Sno1djZNWmN5WUphTEMy?= =?utf-8?B?cy9KaHdnLzJ1VXhxRGY4OEFmbFlMUU1tb1loSlBnVE9PczBCTFZjTkFDRGg1?= =?utf-8?B?aWFjYllwTmNZMVBEZnZaWTQ5SUdadkF6QVdOSGorQS81THpsQUluYnVxaWhq?= =?utf-8?B?WXdLOWFLRkNIYXpid291YXgrTHR3RlpoS0Mzc25YWjNWNnZSSUZya1pEc215?= =?utf-8?B?Z1Z1aGRGYnVjUHl5cy9KbDk1UzRvTUZiUFNQWGJOWUFaRHRXNkdkakFMdzN5?= =?utf-8?B?UE9aWVpJSXJCWlAxTVBIdXREb2FJVE96NkVWTFRQY09zdm9CaXNZY0JIWTZp?= =?utf-8?B?angzQ0g4ZkFMbGN6WlNlSUUyTnpiVmxleHpwcE9iL3lDWURMcUdhQzFCakpD?= =?utf-8?B?Q00renNVZWpqL0JYNEVrK0JTTVZTdDZ6dUFVRGp6V2lPODZqU3ZWenhlaXlr?= =?utf-8?B?bnphcktTSU5FY2NDVkYvK3RsODFhSWxHa3RTYXFhQjZqWWZxbXQyek9xaW5V?= =?utf-8?B?UVBOd3gwMGtQQVlnMlBuS0ZCdHpFZitNL01VcnNBUkJCV3BSdnh2ZDd5RFA5?= =?utf-8?B?dERib1oyTXZZeCtiWmVUczNTUVRHbFhGRVc0ZEpMbGp3WmlYc3F6ZEgrRXhB?= =?utf-8?B?dFYxc0Q1R2Y2QmhXVng0RWdjWWlkV0lzMUFjUHBNUjlxaDZOajJOa1E3aUQ3?= =?utf-8?B?RGpDVDE0cTNVSUlhelNkR2lJZk5STE4zaVBlVWhQY1RqejdNd0QySlZLUEJP?= =?utf-8?B?UGNMbFhjU2w1R3RuSEN3YmVZcWIrMnJ3b3dSL2lBaEhoYXBtSjF6T3BZYnlV?= =?utf-8?B?TW40d2R2KzJjZFVsUjlPeFFqSEI5WHUzT080cGxaZjFTZkpIUHVHNHRaV3ZC?= =?utf-8?B?bnAveUJqTkpoQnpjNW5hOFFZaXpVaHhocnlhR2hrNm0zWlRuUWcyYlZWYjky?= =?utf-8?B?K0g0OE1ERnhiQzRHUUh3R2IwcE8vWHVqYzlMdUhwU0g0VFphb0V3RVcyZ1A3?= =?utf-8?B?RVZPMzhncmhxT1ZQS1lVSE1kUFJNSGtPU1BOT0RHYnhjM3JlVlAvMDNwcFpZ?= =?utf-8?B?WTE5aTZBbGFvejJaNkdqd1pvQ0w4K2NUQWdRMWU0eFJqYzk0TUZFNk94dDFT?= =?utf-8?B?eXNsYnRIVnlEV0dpd2cxOFBteEZMNFltdTNsK1BGcC9FVFltM3NvUXhaUURP?= =?utf-8?B?K2trY1pqUmNyUUNYMzVEVUI1dnFhRUlXbUh3UHFOUUUrdHhuVHAxOXlXNElG?= =?utf-8?B?QkNQbE5TQkhtVG93SWgyRThSUVRHekIvQXBVYXJzd0NIT0d6cDdqeC9MN094?= =?utf-8?B?eCs4RDlSbVV3b25VeDBYakJ5ZVprYmNhdFBDZ3A1L2RzMmxkaWdscUk1eTZL?= =?utf-8?B?K3BQaWROZjkyOFlWdnVtTWo3WU9aYndESysyRUE0bzZHdlRmL0FkYi9mWU1z?= =?utf-8?B?ZHRFZTlySXR0aWlhNkZUOHFqMTBWa2p5WDdZODRrWmRmeWRCeUlaSzZJWHR1?= =?utf-8?B?SmRURE5yNUZIWndic3pSMWxTanFBMlRSK2QzbXJaNUdVaG9XUlAzRnVBQm42?= =?utf-8?B?dU9HWXBESHNKbEZNN1QvZUpab2pkZ2JoQ0hkbWxhOGl1UVV1ZWllWWRrdm5k?= =?utf-8?B?WldRQ3hJSnRlTWIvMmVhTUx0azB1czR2VzVGUTlqNzhJS3k4OThPcjhvV3lN?= =?utf-8?B?S0t0YVdPVUduZnUzSEUrUHE5RG5ZMjljNFlHQ0hhTUorRjFHWFg1dHFxWGZt?= =?utf-8?Q?EUCk2aUYVq7h4FJPEAwlFHo=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0a77d9ab-9b7e-4296-b9d6-08dc9af3c355 X-MS-Exchange-CrossTenant-AuthSource: BYAPR01MB5463.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2024 00:04:52.6019 (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: g/mpiUU5/+xrqPieqXoVqUIRfqmySSUdJ/C7h8R2O7XcfgNILfDpyg6PtoqojhKJu7xkUDYNauGPpGEeoulBt7DfTuhH+TuITGw1T2l2p60= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR01MB6640 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: D427940012 X-Stat-Signature: 1fky1dsf1fncqkh9afc1rniegrq6arc7 X-HE-Tag: 1719965096-778142 X-HE-Meta: U2FsdGVkX1/scUr1yI3biU/79+dOPnLruJ6pBKcLRhLCkQUYO4khbkxehSzoWNsk7pkG3jayGMrY4sQgD/+gr71sD92XYomTguQepYrsVf3m5oGJeaaxZoG2IKuswDrWEs7XR86JXiaBiv9AJrOt45qNeTKssVH//UZkabsoIUFc1tGyyqB96JXF20RqXbgnYDWfD/8jnKp3VbOsxVlrTLtYzsGtYCrpsz6y7Ar41NxilqxsJHgIY7HZXbCR7QB97mk+bDUF9Zq7O0Nlr8fGYs7wZFMPp7CDt8VjNyPmDppt1KtHvlhJsrbFCQLgFaiPLBCz5HVdfUetBwtsU2b1Mx6r3YIFsf4tgL3kMFwSTO1KhUIy7PxdsrLH1Zj1Bf+Y3HxONdKpMem3X1hqfEtEZtsmE7tFKXT806oa/IQZIcE1L6EPh3gDcArtU1nuh+MfAIi1fnXpRyDfKvcw6WitDjpERK8tH1LVvK2gTcd8vVL9i5C9JKBIL7Q6ZORkJ0IaGEH//S6GFm88atv4MOIfAUbAE5eMfhINtoX+sQp7/yL9W7JdX+6FyvuzgMDR2Oy44JhQR80pA32A4oj41NDX0/QJlmIivILGenqlKNlIc4XvLbBJq2ZwGV5eQD3SjejaMs7btud9as4HTbrWkYzvWXHlUJRdg+4MRcSwELUXB++HHEANuZC4FXpGHkCMlYCXzhuBhsbqPR34wUhpIullvsn8Qr4bg43OLgldEKLHU6DrojsP2DQpAxuTlThvZ3APS/DL7kB95tdYTMYfsH1wYmxhxMrcEhV1cPEqTmc6C13n95ZD5tIILQ1Ud72tCkUiBlVENBDqNITAhCE5tGjblorNvadxehrDPpOyjRyjeTXZxWEfdKHZdF+khLX2OT83opkJx+A4BQCVhi8rXQ0MmWJ5jWBiW03j6ZKuD7SPp4Wp8M0/j0yuwnUPuK+ZdoQ4LsKqKhS7HZQ50eVsoKa n6ANuDxz mlTqffpymFbvNQNtIdX3xEW8Rdr9Jwi8/vq/j+HAINjB8fzDowBxdO/IH0P0lrttzZctXxg8QsHJDJKAj9IiZdsobC10hNrBCdEuR0g/W9W9JR7UJmtcorsaxXhxWy5cIjQ50QEigrgS6RmjKNjPiIJHyw5FvJUp7kCUxrKFVCMIyg0ew3cKYBCzjr8UmDpFMKkMBdVo6JGKleq/9N1cFQxxqXFiQI6xqpImFXljIqnA+enxaJbL9oBI1v4heZKWNUnbaDJCk5CjAGUcnLQ0qu4ewTH6bf8/gDiBi6wJUa7+NvLG+NocW+8ZPnkF7I7JcXMHkxHio3BnsYX9CNAhZJnEUbThECePFq5G9WpJIXR9KkDZM1Lu4+XXr9fuQctjPu6uIBTQ0XO5OX2SCFljzposLDpPHyibbZovGmUPn6ZW3yk5I/bpTrp1H7ZX0DUJQjSgqDg9TnjEllkM= 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 7/2/24 5:34 AM, Catalin Marinas wrote: > On Tue, Jun 25, 2024 at 04:37:17PM -0700, Yang Shi wrote: >> MTE can be supported on ram based filesystem. It is supported on tmpfs. >> There is use case to use MTE on hugetlbfs as well, adding MTE support. >> >> Signed-off-by: Yang Shi >> --- >> fs/hugetlbfs/inode.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c >> index ecad73a4f713..c34faef62daf 100644 >> --- a/fs/hugetlbfs/inode.c >> +++ b/fs/hugetlbfs/inode.c >> @@ -110,7 +110,7 @@ static int hugetlbfs_file_mmap(struct file *file, struct vm_area_struct *vma) >> * way when do_mmap unwinds (may be important on powerpc >> * and ia64). >> */ >> - vm_flags_set(vma, VM_HUGETLB | VM_DONTEXPAND); >> + vm_flags_set(vma, VM_HUGETLB | VM_DONTEXPAND | VM_MTE_ALLOWED); >> vma->vm_ops = &hugetlb_vm_ops; > Last time I checked, about a year ago, this was not sufficient. One > issue is that there's no arch_clear_hugetlb_flags() implemented by your > patch, leaving PG_arch_{2,3} set on a page. The other issue was that I > initially tried to do this only on the head page but this did not go > well with the folio_copy() -> copy_highpage() which expects the > PG_arch_* flags on each individual page. The alternative was for > arch_clear_hugetlb_flags() to iterate over all the pages in a folio. Thanks for pointing this out. I did miss this point. I took a quick look at when the PG_ flags are set. IIUC, it is set by post_alloc_hook() for order-0 anonymous folio (clearing page and tags) and set_ptes() for others (just clear tags), for example, THP and hugetlb. I can see THP does set the PG_mte_tagged flag for each sub pages. But it seems it does not do it for hugetlb if I read the code correctly. The call path is: hugetlb_fault() ->   hugetlb_no_page->     set_huge_pte_at ->       __set_ptes() ->         __sync_cache_and_tags() -> The __set_ptes() is called in a loop: if (!pte_present(pte)) {         for (i = 0; i < ncontig; i++, ptep++, addr += pgsize)             __set_ptes(mm, addr, ptep, pte, 1);         return;     } The ncontig and pgsize are returned by num_contig_ptes(). For example, 2M hugetlb, ncontig is 1 and pgsize is 2M IIUC. So it means actually just the head page has PG_mte_tagged set. If so the copy_highpage() will just copy the old head page's flag to the new head page, and the tag. All the sub pages don't have PG_mte_tagged set. Is it expected behavior? I'm supposed we need tags for every sub pages too, right? > > I'd also like to see some tests added to > tools/testing/selftest/arm64/mte to exercise MAP_HUGETLB with PROT_MTE: > write/read tags, a series of mman+munmap (mostly to check if old page > flags are still around), force some copy on write. I don't think we > should merge the patch without proper tests. > > An untested hunk on top of your changes: > > diff --git a/arch/arm64/include/asm/hugetlb.h b/arch/arm64/include/asm/hugetlb.h > index 3954cbd2ff56..5357b00b9087 100644 > --- a/arch/arm64/include/asm/hugetlb.h > +++ b/arch/arm64/include/asm/hugetlb.h > @@ -20,7 +20,19 @@ 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); > + unsigned long i, nr_pages = folio_nr_pages(folio); > + const unsigned long clear_flags = BIT(PG_dcache_clean) | > + BIT(PG_arch_2) | BIT(PG_arch_3); > + > + if (!system_supports_mte()) { > + clear_bit(PG_dcache_clean, &folio->flags); > + return; > + } > + > + for (i = 0; i < nr_pages; i++) { > + struct page *page = folio_page(folio, i); > + page->flags &= ~clear_flags; > + } > } > #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; Do we really need this change? IIRC, the mmap_region() will call hugetlbfs's mmap and set VM_MTE_ALLOWED in vma->vm_flags, then update vma->vm_page_prot with the new vma->vm_flags. If this is needed, MTE for tmpfs won't work, right? > > return 0; >