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 9D6A9C43334 for ; Mon, 27 Jun 2022 12:55:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 13B8A6B0071; Mon, 27 Jun 2022 08:55:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0EAEA6B0072; Mon, 27 Jun 2022 08:55:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EA6BA8E0001; Mon, 27 Jun 2022 08:55:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id DD46B6B0071 for ; Mon, 27 Jun 2022 08:55:29 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B3796207EC for ; Mon, 27 Jun 2022 12:55:29 +0000 (UTC) X-FDA: 79624011978.25.EFD5D05 Received: from mx0b-002c1b01.pphosted.com (mx0b-002c1b01.pphosted.com [148.163.155.12]) by imf14.hostedemail.com (Postfix) with ESMTP id 3308C10001D for ; Mon, 27 Jun 2022 12:55:29 +0000 (UTC) Received: from pps.filterd (m0127841.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25RA634J032477; Mon, 27 Jun 2022 05:55:26 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h=content-type : message-id : date : subject : to : cc : references : from : in-reply-to : mime-version; s=proofpoint20171006; bh=oJv982F6z7Uip/Dmme+4OlhDfI60FdgKubzbAmu5D9I=; b=IDHB/dIKesYzn2osMWB/RCVP2D2brCkRqC/YT2vhfWLc8LT5/aycDXWL+x8WfqnW3eaQ dfEv1U4n+7O3exDFKw/SGdti/Jn2gYkupzljojv/nEfNA+NGZvIx3wCNgIuIosO+Hur2 D8BFD3HugRPfE02pL7yTLszUUOJG8jRsXaGGr1aVM0BQlgAhfiPSlGKMDghXb7+0tSUt jO1q0ydI+WW4XKJm5jGQ48Ce7OhgJo6QoO67/bE8RJSZJ1idNVoO60t8hoJy+JRczUhL ttI8HVgYR5N7Haqz8l6HLazuVsnYn4JFxVYr+/72+o2/+CFyj5D7LynI7VeFKdBfKXzx RA== Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2171.outbound.protection.outlook.com [104.47.55.171]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 3gwyw9kmpm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 27 Jun 2022 05:55:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CF3DNiDR55IlkGFhDH2OqPF4gTtddu/ySK16KrP4cYtznY8IC9ADwBrfM/omBafyJTqzfoWe4jC4grUNQDM5kpBf8EBwrg+/mihnC7W2GG1NSSItvun4dMVFi6Y2spC2h/n6UHOCjoSvvfF31nyRlTZM8ay3AhU4GcaSm0AsvGq3esjE40a+ytiEtuVScrjVUiwvkA+bbwJS4X9kcPTChFPuAPlRqPitadPgmiONmB5eFJs0YylwUPB9ogv8J2IZzbLjMr2yoZnwtWhii8F1+Pq4O5PzjXM/hVsvr4cmyXZijoJiex3m60Tir8xsmyoovl+8QSCH6dzRNdFnzrsUpQ== 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=oJv982F6z7Uip/Dmme+4OlhDfI60FdgKubzbAmu5D9I=; b=fa23C5R1xy7A0ABRj6GQWxL8Vak0aj9SWA/PdTO0ZaLfcbbJssew9nzoJJjHTHwQeEsnskrDpyeCticu70fFSAydMqL8K6xkhoQlx+Upp0V1HfGAc/wRxGb/+Um20jo16bTPZiWL8M5/m539Zu4IFBxqpE4kszn06otHwjf5O3xgaGL+H8kLucRWsSsSgA4UvVkO2K8oa6+3AC6V8WT9W8GfV8Yq47aPfm/XPlDBpQ2m1cTtLaayTq665/gF+3PmCoZioXuBiZ1fDIv+MVajvl1X5gHpLxl/SnuYrVQi/oaBRh4T4NScMUz1xB5CdCBo5cTAJd51WsVm1Q3d1BHlsQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none Received: from PH0PR02MB7384.namprd02.prod.outlook.com (2603:10b6:510:12::12) by PH0PR02MB7431.namprd02.prod.outlook.com (2603:10b6:510:1b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.16; Mon, 27 Jun 2022 12:55:15 +0000 Received: from PH0PR02MB7384.namprd02.prod.outlook.com ([fe80::898c:892a:2385:3df6]) by PH0PR02MB7384.namprd02.prod.outlook.com ([fe80::898c:892a:2385:3df6%5]) with mapi id 15.20.5373.018; Mon, 27 Jun 2022 12:55:15 +0000 Content-Type: multipart/alternative; boundary="------------0Ly0a4D5ZTRMnEM74Vz2y3Mf" Message-ID: Date: Mon, 27 Jun 2022 18:25:01 +0530 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [RFC PATCH 09/26] hugetlb: add hugetlb_hgm_enabled To: James Houghton , Mike Kravetz , Muchun Song , Peter Xu Cc: David Hildenbrand , David Rientjes , Axel Rasmussen , Mina Almasry , Jue Wang , "Dr . David Alan Gilbert" , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20220624173656.2033256-1-jthoughton@google.com> <20220624173656.2033256-10-jthoughton@google.com> From: "manish.mishra" In-Reply-To: <20220624173656.2033256-10-jthoughton@google.com> X-ClientProxiedBy: SYAPR01CA0046.ausprd01.prod.outlook.com (2603:10c6:1:1::34) To PH0PR02MB7384.namprd02.prod.outlook.com (2603:10b6:510:12::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3228a7ff-7286-4e00-3d51-08da583c47cc X-MS-TrafficTypeDiagnostic: PH0PR02MB7431:EE_ x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UQl8AmSTVJZhUYG0ZM3lgZuyFaOJuqh4cvqBBOY/EseLffJ40cUfINoDmRHLCUlpLAAfQeTSAYSxWMGDOzgDilnD/TDhoXSbWPhEjXMkOesdc2hp2GCKHLGNCAJwMv6bBI6/P1+I7WfN8vsDEQad95GUoTxtqwCWf+4+50fMg+5MjBPm0D01b10oKJ7md+N1LPZNImfe4X2c4b6UymKQGTEeKUw+chl3VRdCKMK1CIkybxVBzX2Tncjzg+YG8GWTOlu4xGv5r3ucd+V8a5pgliAZBrBlruyzRyXould1AypoD2VGBRrdjnK2ZRVTk5im/tktfIXh0/+fxPB84cPcOztyLSE5FE/fwGMmWtDcMeeQtY4KqySKiiWhR03IEQ1m2FCHnU7WjksuQn4prcDbcWCtm3+fcLUyFRwz1xyUDwCQQ5aIxAKitINxP5WlXp4UwRaFSumlKw4XBK8RjjePyk3Xh/o3Uh5YI6DkmAgNz9u2xqPccH4d4jjwEKYWcqgajUwnRivJiVVASwM7pLBGhR57DleYMwnbHbF/87/Kn5CDu1yBuJfpS0LNe67hpsY0wa9MQcVfNe8GDA34bbkf/PUPS5aDEKLyhVBA0cmbkHYNf2vNNLksyxaXVSYgjWti/Gp8eFX7P2tLVNmOel1n289utDv9KPIceNg2Hl7sGCkdl3T8BT6DffcVdRwMHZAvfjKpy7vViPJXaoju3d5IQ/JYYSgD7DGwdoYh0Ybo6pyltw+6nQG1E0sII53QIkpTckjuoBebxNhNM3TcUJPbCZjk3PFbfOglSXWlEzoVpM60nmvy2Uw0UCDoycA0N5eh X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR02MB7384.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(366004)(376002)(346002)(396003)(39860400002)(136003)(83380400001)(53546011)(86362001)(31686004)(316002)(6486002)(33964004)(36756003)(2906002)(186003)(41300700001)(66476007)(110136005)(7416002)(478600001)(4326008)(8676002)(5660300002)(8936002)(66946007)(66556008)(54906003)(6506007)(6512007)(26005)(2616005)(31696002)(6666004)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T1FQdTVpV21Tc0w0WDJDWk1lUjlRVjdMb2p4M3RMSWxzTlgyenRtT1pmVzU0?= =?utf-8?B?amJaZGdQUWdNM2krb2srbXpxRE5rM2xTa2Z0d09xay9peFhSaWdud0gwdDcv?= =?utf-8?B?V1FGeVJ5eGRkclBrc3RpUTZlMGpsMk1kU3hRZGF6dXZhYmZaTEp0ZzNoUXhD?= =?utf-8?B?UEhxMXBEdFNsRjQrSWlnM1ZJTjA0Q2VRRlZ3eVpPOVlEVlNPUzFqaEtpVEdQ?= =?utf-8?B?WWJKZ01IYUlCTHJvNk5RdjFTVEE0eGFyQlh5dXlNNEhWUUxpTiswY2Zpalg2?= =?utf-8?B?b2FwTXpwYVFjUnVGQmlxNGdEUWFDbGNLeUx1a3g2ZEhPR1dhdjZWZnNrdVFm?= =?utf-8?B?MTMxZ01WVXFBVzNQclBvSk5sV3luODI1ZTgzWG5SQTRuZDNmaWIxZC9icHBP?= =?utf-8?B?bTlhV1d1QlhqaHk2RmZIZ2lEOURlQk5BU3RHVGh5SFFhaUtYWjZlU0IrSHFo?= =?utf-8?B?Z1JYaVhtT2VFZFNGRUgzTmFNNy9tSEwrclpyUTY5M1crZWlWVmZhYVBCTWtP?= =?utf-8?B?L3h6Q1d0Q29ZRldlSWl4ZWpuRTkxZ2RMSjMwbjk3c1hwdFBodmtMRUlxVE5n?= =?utf-8?B?bGI5aDViZ2JFbWV5OXpUYmpkVmFuZEVmY2g4aFFlRWVtakQ1T0VNMjRyU0kr?= =?utf-8?B?ckhGUXRoUHR2L2pRWGdqWGVmUFE2QjNzSlR0Wm5mTU5KVHc3MFZvWGNFWm9V?= =?utf-8?B?Q2ZUUjd1N1dSVDZGaVUxR2ZSOVRtK3JPeUFZVmtpN2E5cWpKNTZXalVobGNR?= =?utf-8?B?eW10K3FqVmZBTmUyaExkRDk4VGREaDZCWGQ2UncwMzhmOUZONFJFQXRYTTJB?= =?utf-8?B?RDZYd2hpaXoyQmpzZHRlb0Q5c2hjZVVkV3F0cGRJSEc2M2pqRVRBYlFwYjJa?= =?utf-8?B?a1JYNUhyS0g5RHM5K2FRWXJZRWhZV3hBalM4UFZpUDUxaXJkMXhvVjBFRThv?= =?utf-8?B?RE9qMll4czJXYW5oYnpuaGN2c3hod241SlY1YTFpRy9VekJWempKakFKdXF6?= =?utf-8?B?RmhpQURzek5rQVFGL1h2WlpKeXJaa1dwWU5tN200d3doZlRPQ3lwSUdLaXNn?= =?utf-8?B?WTVIWlpldm5vTkFsK3M0M3lISzBBdTB0UHkxUDFpL0llVnV4RW5iSE1aWnJC?= =?utf-8?B?RS82ZGZPUWhxSG5UeDBFb2QrYjhIbE1wdDlYSENoTXpETUFnL3pvTWUyNU56?= =?utf-8?B?WlJnSVd1RlAwbCtWYzRnaUZ3eXpSeThJWDJtQUEwbXp0RzV0YlVHOGM3eXpw?= =?utf-8?B?N2wrZThwTlJYSVhrQUtodUVmellHN3o3ZHB5eS8wem84TVRMYkd6OURUZ09Y?= =?utf-8?B?bzhveUFhdkI1ZmVLMHBuTHhJRG1mT1pKVkhQdVM3Z2IzdTB2TG1TYUJCdkpB?= =?utf-8?B?RkhsSkVudnZTQUsyQTRXMkJCRkxKUjBjMVhjSDdjMytlaFRtdnpxK29nWXNY?= =?utf-8?B?UG9YZEdBbXp3bmNUWE12b0dVbXY5b3F1OC9TaGdiMnVSTHdVQTVsUUNYT0dZ?= =?utf-8?B?QlVMRlZNdkdBYzV3NlFSTlRrUnZ1ZjhhanBCbnkrRG1ZeFVPSlNobnJXVHdW?= =?utf-8?B?bHNxcVZrUTJHQU1WNHpPS1RBcTBmbHYxbTk1bTZHN0Y3WkVGVGpub05rdFZ4?= =?utf-8?B?TVFCVVRkN0NVWkpCekV0Y0cxSS9jVFZncm1KQ3k4d284cE9LTEVZKzJRRWp3?= =?utf-8?B?N0hrdUFHT2xEMW9selhwcDhtaWtNaTBWTGt0TGpBczlXZEVSS1F2REQwbUpD?= =?utf-8?B?aHVFZFF6RVZDY2xHTkI0TzFwMUxqdFpxQi9ZdUpCRjlnWmYyVGw1TUZtY3Ez?= =?utf-8?B?ei9ZQWxTSDE3U2Q5S2krR3NMZEVGRkprOFNJRUc4MFlHU1JnYTk4cUlQZUFG?= =?utf-8?B?OXpJS2x5L0ZtNzVpZUwzSytnb0ZFUHdjdnhsK1l4SkhaaFpONkpHaTVGMFZr?= =?utf-8?B?WmlqWmwxY1pFRStMUWVibmFybUkzN0VMSmdKVFVRL3RCRmVZMFNVOWRTTTAy?= =?utf-8?B?UVBwbmRrOFdhTnR5QTFDa0lFS29xUHF2dnh4NzN2K3lPaVA3dFVvRjZCU3ZV?= =?utf-8?B?M2J6QVRRVEc0S2VoNWZNanBhdXVWMnczeThoU3ZmZTNVTGZZR0ZsYU1GTkxL?= =?utf-8?B?ZjloNVM2cWNoQlFGM0lYR05vaklXWE00eVlJd0s2c2ZNVndaVkRnclpia2N2?= =?utf-8?B?Z1E9PQ==?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3228a7ff-7286-4e00-3d51-08da583c47cc X-MS-Exchange-CrossTenant-AuthSource: PH0PR02MB7384.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2022 12:55:15.5332 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AVGKKQBbr3F2rcjRy6fnE24WeRzslO6Spe7IPC39Ke1Aw/1CmovIs+EDWLZxc4worD0N5fIL05xhzsaG9a7iD0HcJRc/4yhzEFudsy22/NY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB7431 X-Proofpoint-ORIG-GUID: qG91cNqRYwZdBOTQUF2I2jS8G8RUYVi8 X-Proofpoint-GUID: qG91cNqRYwZdBOTQUF2I2jS8G8RUYVi8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-06-27_06,2022-06-24_01,2022-06-22_01 X-Proofpoint-Spam-Reason: safe ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1656334529; a=rsa-sha256; cv=pass; b=ErTU7risbv43wrHk0TkiYSVsG5EeJHYfh1CuRiptfaqX+EsrABNYPLbwWZeAe349ZatyJD gefOm+QZelXDHNchZAVQWTuynkuE4C+D7vnH7M3Dg3E25/yM5Mo42ju/1oh5yNY1yawFGE XOHqAISE/TfS79Tj4XhvHbDIqynIT2c= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=nutanix.com header.s=proofpoint20171006 header.b="IDHB/dIK"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=nutanix.com; spf=none (imf14.hostedemail.com: domain of manish.mishra@nutanix.com has no SPF policy when checking 148.163.155.12) smtp.mailfrom=manish.mishra@nutanix.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1656334529; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=oJv982F6z7Uip/Dmme+4OlhDfI60FdgKubzbAmu5D9I=; b=LF3+5oO/pKWcrelW0ZzPaoVaA0CC/TyeNisxh2Wx7xkx0eyuOOMQRlzLr6LbMYXg9gXn+7 8fHGu8ZqzMjN4YmUoa/k71DTV00YfSS6V6MfIjACls6cU1xXo9GJlHd5g/H5XS1hydzyu/ xQIDXtcmn4cZSYk1Vcuon+w5+1VA0aY= X-Stat-Signature: 4rnmizkw4q8qg7wfjafifoxbw7gzm3k9 X-Rspam-User: X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 3308C10001D Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=nutanix.com header.s=proofpoint20171006 header.b="IDHB/dIK"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=nutanix.com; spf=none (imf14.hostedemail.com: domain of manish.mishra@nutanix.com has no SPF policy when checking 148.163.155.12) smtp.mailfrom=manish.mishra@nutanix.com X-HE-Tag: 1656334529-796247 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: --------------0Ly0a4D5ZTRMnEM74Vz2y3Mf Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit reviewed-by: manish.mishra@nutanix.com On 24/06/22 11:06 pm, James Houghton wrote: > Currently, this is always true if the VMA is shared. In the future, it's > possible that private mappings will get some or all HGM functionality. > > Signed-off-by: James Houghton > --- > include/linux/hugetlb.h | 10 ++++++++++ > mm/hugetlb.c | 8 ++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > index 33ba48fac551..e7a6b944d0cc 100644 > --- a/include/linux/hugetlb.h > +++ b/include/linux/hugetlb.h > @@ -1174,6 +1174,16 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, > } > #endif /* CONFIG_HUGETLB_PAGE */ > > +#ifdef CONFIG_HUGETLB_HIGH_GRANULARITY_MAPPING > +/* If HugeTLB high-granularity mappings are enabled for this VMA. */ > +bool hugetlb_hgm_enabled(struct vm_area_struct *vma); > +#else > +static inline bool hugetlb_hgm_enabled(struct vm_area_struct *vma) > +{ > + return false; > +} > +#endif > + > static inline spinlock_t *huge_pte_lock(struct hstate *h, > struct mm_struct *mm, pte_t *pte) > { > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index a2d2ffa76173..8b10b941458d 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -6983,6 +6983,14 @@ pte_t *huge_pte_offset(struct mm_struct *mm, > > #endif /* CONFIG_ARCH_WANT_GENERAL_HUGETLB */ > > +#ifdef CONFIG_HUGETLB_HIGH_GRANULARITY_MAPPING > +bool hugetlb_hgm_enabled(struct vm_area_struct *vma) > +{ > + /* All shared VMAs have HGM enabled. */ > + return vma->vm_flags & VM_SHARED; > +} > +#endif /* CONFIG_HUGETLB_HIGH_GRANULARITY_MAPPING */ > + > /* > * These functions are overwritable if your architecture needs its own > * behavior. --------------0Ly0a4D5ZTRMnEM74Vz2y3Mf Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

reviewed-by: manish.mishra@nutanix.com

On 24/06/22 11:06 pm, James Houghton wrote:
Currently, this is always true if the VMA is shared. In the future, it's
possible that private mappings will get some or all HGM functionality.

Signed-off-by: James Houghton <jthoughton@google.com>
---
 include/linux/hugetlb.h | 10 ++++++++++
 mm/hugetlb.c            |  8 ++++++++
 2 files changed, 18 insertions(+)

diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index 33ba48fac551..e7a6b944d0cc 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -1174,6 +1174,16 @@ static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,
 }
 #endif	/* CONFIG_HUGETLB_PAGE */
 
+#ifdef CONFIG_HUGETLB_HIGH_GRANULARITY_MAPPING
+/* If HugeTLB high-granularity mappings are enabled for this VMA. */
+bool hugetlb_hgm_enabled(struct vm_area_struct *vma);
+#else
+static inline bool hugetlb_hgm_enabled(struct vm_area_struct *vma)
+{
+	return false;
+}
+#endif
+
 static inline spinlock_t *huge_pte_lock(struct hstate *h,
 					struct mm_struct *mm, pte_t *pte)
 {
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index a2d2ffa76173..8b10b941458d 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -6983,6 +6983,14 @@ pte_t *huge_pte_offset(struct mm_struct *mm,
 
 #endif /* CONFIG_ARCH_WANT_GENERAL_HUGETLB */
 
+#ifdef CONFIG_HUGETLB_HIGH_GRANULARITY_MAPPING
+bool hugetlb_hgm_enabled(struct vm_area_struct *vma)
+{
+	/* All shared VMAs have HGM enabled. */
+	return vma->vm_flags & VM_SHARED;
+}
+#endif /* CONFIG_HUGETLB_HIGH_GRANULARITY_MAPPING */
+
 /*
  * These functions are overwritable if your architecture needs its own
  * behavior.
--------------0Ly0a4D5ZTRMnEM74Vz2y3Mf--