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 A534EC10DCE for ; Wed, 6 Dec 2023 01:25:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C96D86B007B; Tue, 5 Dec 2023 20:25:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C46386B007E; Tue, 5 Dec 2023 20:25:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A99546B0081; Tue, 5 Dec 2023 20:25:16 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9B3546B007B for ; Tue, 5 Dec 2023 20:25:16 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 76E2DA0C81 for ; Wed, 6 Dec 2023 01:25:16 +0000 (UTC) X-FDA: 81534650232.11.8FDA93A Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93]) by imf30.hostedemail.com (Postfix) with ESMTP id E10CB8000E for ; Wed, 6 Dec 2023 01:25:11 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Jk8aZz8A; spf=pass (imf30.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1701825913; a=rsa-sha256; cv=fail; b=Jn4G95j4LpImwVvMzgFoEMire33xFIXRnMKvlTgMJVNqk/BvRojqt2quTCIHOCUNHCRbBJ 3SJLBzEymxfGAboICFH/j9ygLu0F54rI/B6AxeN6TEqr2ybCOw6mj1cPXWwyJ0+JpVML88 MPqZy9E1Au7FTQ9IX2iQfSVk8Ca0gQQ= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Jk8aZz8A; spf=pass (imf30.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701825913; 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=PZli0VxWg8Rbm7A27KHitBYjN/A7dJzul9w+aYiZXD8=; b=6xeGy7nXHmI0eB/nEqiHlI3Jz4HzOuHl0CreUhdxOUSpfk1R9WGjbF75jTEPQSXtQX1Ziw 1+o7fgS9fg6aR4MORnGOn8oxXkW+a0N6srae6E7qlA3aH7Bi0gvPSX8MbspB+OWwurSJo7 rUoaBeZiz4gC5UNJyupkuI0lI7CnyC4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701825912; x=1733361912; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=xY2Oc5DudgRNHGT/50zZKi1BPq8z8KdFBLPor5hcmaA=; b=Jk8aZz8As3jo4AR1HwEykGUv575sfk4QbPR0V2IJMrL99zyXtNzswjAC UTTOLu/BkIWFcoiDViZAzkZdlYOHbAsbwd5qilYK7o4MOyW5qfP0SzevF IPm8ep6sqDzjdW4UM+qdPpw3Ou1p9rxRm9+17CKJ5kJFlyTIItnNsTQ2v XzuUyNCghAgqCwE21ge4n0cm9CetwAgH3TkKLDjBIfNyxjLmmKWEQVqGS SwJpGvrT620OhmFMiQCVM6zYrWVOFcxt3JaQuDLfTx4ffvPkGMiPIIJqU PrprJB2rbgd4im5a7iPX36f73e69J+CwZvDc2vXTs7cBSPfjT9BwCy6fZ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10915"; a="391155135" X-IronPort-AV: E=Sophos;i="6.04,254,1695711600"; d="scan'208";a="391155135" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Dec 2023 17:24:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10915"; a="771123401" X-IronPort-AV: E=Sophos;i="6.04,254,1695711600"; d="scan'208";a="771123401" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 05 Dec 2023 17:24:53 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 5 Dec 2023 17:24:52 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 5 Dec 2023 17:24:51 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 5 Dec 2023 17:24:51 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.169) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Tue, 5 Dec 2023 17:24:34 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IL1b48PRPUgIQPgG/u1dty0bfdzmnNoPor2G2vWN01NWbZfJEGc8E97Xi8LTMCvOTaC/hX+4FKA2S6SnYXcANpF0mRxMFASVgbdtY9ZXvDZvD+NRiQ11Ebcyxm5rag+/JGqaBibxPw/PFtM/tEY+McQOrUXSR16kBEDJlgzUiQsY8d0PqE6q/ONpMiGCF7X6us7uVVZ6DHAwRKahj10IV4ERHMW0NXOVNeWBJz4abZO+OPd309MKSD/mQmLv8FLuMpD3QkUP57ZbWbXHN6+PrUB3t7t9LeMSnii1nVi7KhVoC1Up4Zy9LO5Hn3iaX1LKRN3I3RCyE2XG08qmjiZb7w== 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=PZli0VxWg8Rbm7A27KHitBYjN/A7dJzul9w+aYiZXD8=; b=gfo6sc+7F6szNfdVDE1cPQFN+2appbC3BAqeUaM79ghfzcughF3GkYE0j3pfxx+ae++Q1wfIuwm6+5I6gG6Ut0Rl8cYEM6mOILvbafISfcyYGpDVi/jfIzV2KZXBfhnTLHMW6Y+AJqVSgk9/WK4T/TeN3JX2TtzsFBo1J3MDANpmxnCspA40opPFbDpkPWGvpAMPuuhsbgoEm+Ufs2YR9c0VtrjUt2cbhe+zUJMXtwXOIjotLBZJRw/QfZ8TWRx+vpcZ1tyLnHrmlTELb8fpGtnz8RiGqVhn7zna7Y2TwfnwdUl16IOjmJopwlIbyYUk03+SFYzVDVyhEyAJqd44jw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) by CY5PR11MB6440.namprd11.prod.outlook.com (2603:10b6:930:33::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34; Wed, 6 Dec 2023 01:24:32 +0000 Received: from CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::3d83:82ce:9f3b:7e20]) by CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::3d83:82ce:9f3b:7e20%5]) with mapi id 15.20.7046.034; Wed, 6 Dec 2023 01:24:32 +0000 Message-ID: Date: Wed, 6 Dec 2023 09:22:16 +0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC 02/39] mm/rmap: introduce and use hugetlb_remove_rmap() Content-Language: en-US To: David Hildenbrand , CC: , Andrew Morton , "Matthew Wilcox (Oracle)" , Hugh Dickins , Ryan Roberts , Mike Kravetz , Muchun Song , Peter Xu References: <20231204142146.91437-1-david@redhat.com> <20231204142146.91437-3-david@redhat.com> From: Yin Fengwei In-Reply-To: <20231204142146.91437-3-david@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SI2PR04CA0008.apcprd04.prod.outlook.com (2603:1096:4:197::20) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|CY5PR11MB6440:EE_ X-MS-Office365-Filtering-Correlation-Id: 223151f6-48cf-4116-79ef-08dbf5fa18f4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uVdzRvMoWILNHnn2xVFGgYG0GWURoxrOzR0LZlbYUZIPiZUJmtEJuyq6wq7tG9EO4skB1mos/rm8q+/1Ay53IkyhIWJEjteRheTiDnKnjsHz2CTFMedhERxmMWssYtPrm1SOcrp4Y03y8e9jbxZQukAYf3frwFv6TQpBCquOoUkdWHo/1csTDU3iOw5eUrjqRB6wL7LLZCr//5D4zMhMJmNR6cccNgfwe7+P3WamqjuLTo0VXPuBK+grVkuDczf2ZNbT0i/OGY4KEu0qxemE/jjquKaWlw5S1VHNyCb0PD9cslFTQ/2YOSatZICjtwJLMoppoTFJVxK71euvDj2gDAorHGiI/WSR8svp0d3Xzzd8DPMzGrjX66O03amLj7wfa9SYO421K683nevqgSERSGZ2yVeACsK9MjSeC3c/N3mWzeGpSmCk2eOqa38Pv3nvR4ZMZH0+AhjDaeeScHVoGuwGU5cnVwxgkLdI/ctVizZiIW/BnPUlz7meJWNYHlHM75Wzdzc6lYEMcO4RdH1hKlWk+7baRYKvquZmDm3jZ/TGOwmMCggwpCEbWAbxc0XLVmKuqj/lvBVOkOTDT5tIpbmwRgLFZLODCixx1hhLqm0qLwd/qg4TZ8pABGghct4cV9zoj7Jw359jgEw6A01VPw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4820.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(376002)(366004)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(7416002)(38100700002)(2906002)(5660300002)(41300700001)(86362001)(82960400001)(31696002)(36756003)(478600001)(6486002)(2616005)(26005)(6666004)(6506007)(53546011)(6512007)(8936002)(8676002)(4326008)(54906003)(66556008)(66946007)(66476007)(83380400001)(316002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a09sVnZqbmltUWhDN01sMUhBMDVVdko2K2NzTnZmdDNKQUtJUUlLQU83SmVI?= =?utf-8?B?bUUrV0MzSXdzNCtBdkZLMnFSQ1Q5K1BNcmNGbyt2TmFiQ1ROamN2cSsrNUVS?= =?utf-8?B?Y2l6aVd2aURQUGVkcnorMThPZEtCcjVDS1lmS1BMWkFIUDFRWGI3VU8wUjRB?= =?utf-8?B?ZXg4VEh1TVl6Sm5NOHpSZmFlaUo3K3NPcncyNVRwQjlBdE5BdUhaSms2aXFG?= =?utf-8?B?QjBqbTA3OXNnNVpBTzg4UFFncU42VU1jL2krT0V6YkdxU05RS2FKajFZRkJC?= =?utf-8?B?OU53Y0xrR295TWtzWGgrTnZ5bTRQM0FqMmVUSm8wRk9xRHNjT1NsVEFOTmR4?= =?utf-8?B?ZEFtdUV3TnI2a094WGJITGdMeFkzclJpK0FjczNneFBHLzZzaytIZ0N6TnBi?= =?utf-8?B?d3VEOWVVdk81WVQ4Y0RkV0RPdzJTU2dLWGVQRFJNQUhseWFkc0UxVkV2TVl6?= =?utf-8?B?N0lHUnRKQ3BHbjRaM1d1VGlpc0ZLOXFxMmhhaDVzVmNZZWpEeDlvaGVjaDMz?= =?utf-8?B?VFFEb2pVeGI1QTI5d2lzelZ0K25xYTJtYTNjejFSaDZhNEhlZUNYZ2d3ZmFY?= =?utf-8?B?TXFYK3V5UmFBN0MySi9tUzNIQ0M5WnkwY0xaaFpJOHJHMWU4SzgyeDV5eU0v?= =?utf-8?B?cVBBYy9vTnJQc2JHRzIreGZDMzM2UmFTRVZ2TEZPY2k0YWlGeERyaXRHelFV?= =?utf-8?B?SGFRTUhMYXBydlN2OW5udUFMVmhCYk5Oa2lBTWhRTXBQZ2NISGl4aSt6djBo?= =?utf-8?B?T2xLdnpENkVQU29BL2d3QitPR0dWY0VMN1I1Rm0yOWJQa2w3VjRKWlpjTWpP?= =?utf-8?B?L0poTGdZY2VSUU1KU05meDF4K0YyS2ZRMGtDMDdTWVA1bFprZ3ZGY3Ixd01G?= =?utf-8?B?ai8ydzlPRDN4aWFHcnMwdEorMzJBbzd1VDB1RXZrNlFQYkdDSVREN3lzZHVB?= =?utf-8?B?S1B5UTEySVY1NzBzcS9SZFdVei82VGVGdUI0SDgrM1lBc1FFU0duT1RLVU40?= =?utf-8?B?cDdLQ2tvNWFNc0RIejBkUml0R1ZsRDRpbjg5eGd6SUpkUnA5S2ZsWS9lb2kv?= =?utf-8?B?RVcwQno4dUxUa1ZwQkNRZXFtZXByeFQ3NVdFSSttQ01OWXdlSWVEaTc5TE1r?= =?utf-8?B?MklVdSt2MTNQNUk5R25nZ1F0dE1ua0VVTnpwKy9ETHZPa1JTZTRBWmQxdWFO?= =?utf-8?B?aXJxbldJRjJnV1h2T0hCcHZDMWN6Nmp5L0dmc1ZLZUZRUmtKM3RmNkFta2Q3?= =?utf-8?B?dTVDdmFJRG1NdExRYkVqam1DOEtSeE55MTd4Zzl0M3FMV1F4RmVUL0tHRm1s?= =?utf-8?B?TVBhZlMzZU1xWkVDQnFwdGM2dGs1QllxQTVMNXRaSzI5WWZ5cTUyRHJ0YW1C?= =?utf-8?B?RWJDZEcvcFJEQm84cjlFckdRU2hUTHd0cUZ6M0ZQaXJ0MG1USjVkVXJBL0po?= =?utf-8?B?ZjBCZDNrUkJFeTB5aE5BUHZXbEliNllEVnlET2E1MEMzQWpjem91cUhSNVFp?= =?utf-8?B?T2pPYUgwT1RCTUtnSzZ6NVp0VkQvZXJuS1c4RmhqNkVvQ2xKSWNjZDMyVXpq?= =?utf-8?B?VTdCVFJBV0U4OW9IQWxSK2ZDaDBqanp3OUVPWm43YkpSNTF3UWxvYkZ3YlRk?= =?utf-8?B?ZlNtVTBhdWNWUjJuVUZkMlZueG1ocUdTVkN6MzVPMTZxVHE1YmtvRUJ2elVt?= =?utf-8?B?S3FkTWxWY3gvZFhnTWVwZ25yQVBpbi8vcWN4RnZNTFFucElIRjZXblJTdUFQ?= =?utf-8?B?Q2V2ZjRua3B6dVRTcUt1TlBhN0VlWGxwejVpc2NIWFd2aGdDYXh0dmloaGJz?= =?utf-8?B?Y1hRNS9NSVpRVk45V3BQY01qdGR2a0UwRnNsVlN4VE0wRklFMUNMS3gvWTVW?= =?utf-8?B?ejVOWUliU1FSRklaTk1ERmFkMlVHZHVYRk8vYldpOUxHMHZSUjRUekRKa0hq?= =?utf-8?B?NGZvcjBENGY1ZG5YSW0yaUR3TkY1bFY2MVZFWDRuRlRZdHFYa1lpaUI5WnN4?= =?utf-8?B?b1JDd0o2dS9EQm1HdkdPRDNJTVNvbkRYY0ZsUU5lNnFHdjRFYThYYmFEeHZD?= =?utf-8?B?aXBza3VZL2hlUFIzSU9TR0x3YTRnTWdtaUs0NTNVVFBkbzUzNHl6SWR1aWpM?= =?utf-8?B?SXFSM3I2RGVONy9OcnVHQmp4ZDVRR1ZTck9oc3FLMjhZRGNzc0tGTHFRL3hH?= =?utf-8?B?clE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 223151f6-48cf-4116-79ef-08dbf5fa18f4 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2023 01:24:32.0481 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: I+LduDQe+RqYwjcUeLmnACPa3D07//YkRFFEiMQE17xXtRII9doetL3yxpLoqtAm9+fVBtJ6SeTy1wjRpgoWeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6440 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: E10CB8000E X-Stat-Signature: ef5494wkw35qhbi9tyxiws3tr883b67f X-Rspam-User: X-HE-Tag: 1701825911-68413 X-HE-Meta: U2FsdGVkX1+Eqvx70tE90zdr7zxolnbqZHG9XsSgJXfUylmnaaa09rZj387NOon3SsZE3uaSO5nXZXtkkLtTtUoAv8szdPJKoFU9cOzWi7+lrZ4LzOvbN8B48PJVIC52akaKMCKgDthAcnhZk5oLCueEbUb2tqp510ovr4047l/7gMUJi1IjtxHvqkAlXJkQG2GZkL5G7XDjKnxWzsvCXKVj5PpQCpjVshrgY82yPygl8EI+TZ8u5tgj4p0sCkMEzSJkRKCGzLlNsxn2sPL24KYyya9Tqvo2Cy4QpyleJq1Nw7DNnqLiQmrlA7J/sGxATFkve2FVbUIsRf9E7fU+LKbWYmn/fO6nZLnvnBdNALf2axGlvKORYHJkmS/FGaLg1NKUbY4yPZnvfmllaFiMZUG47neoZyyh42Gzv4nJcTWyNb6BCF5AKOMf5jbeNiWeLDADMPXOTFdHrl7cGLZ0kQ08Rd2pM8Dxbh02DLTaIx/ASAu5J6dNSRktCSNtpb6PN9bnhrcwBUmwtOxpnvkyT6fYg8YeUqgM6i9cCOrgS++rCcpjrTfoHa/B29VuLnCj0s0XHqwKZ0NA03hc0LdOrGmWR3FaDI2h279a8D7o0IWFcPnBxltxL1y5eQx4q7Pf5xzuLkU6W4MjOqY+Bt3RKXWM6U/nmFqbWzQw4QkVJdM4nXZm9HSMcl3mSzGzOAZb4oRv44vPFkFyyzUnLoilgh7SEA568jXRPJLWO+RiaFDzjD3JUBy4kZD2gxsdA47Q+wK/BninryefgqhRPamUY27xV8xOtbD+mLnfbdoCKwM/KUjm0CcVt5sNW4or0l8uSz6Ygv4TijfPMjL5b5SLnZcj/gOLHlW4STWTsSc5UWT9auzJus6Y0PndHz9BbiQRjY3ojF0zeGw52VbwhWVq1fIIHUjLWCEnPJn01/kVKS5aBSLnHYfHA0tMOB94CCrHJpu+msxpb43Xr0qE64X ovpu9raF PZ6sRiJqtql7BvNkfhuFRSKBEkasmC6DHQzBvEHzJPKJs6gajr8v+uvdyBHc/C05UKCYS1Exjd+CZO7Ox/47brvIa6CiAYHK3PyyVYvXMXj1QYX6cda8A0v/0Mt9F7R3LQXwje0kDIabpK8lDeULBAct6BNB8jITAg7IpENKk2y4VXVvSyrgjAdmBVzYcmG2jk1Eita3hvozqrQydHnCUrDZuJoutVBSeVd0FGOs0/WTJ6VAYbkGQ6vpxjjIUmknQtQco5u2jD2tsmKjL1uGsz5OYleIyuQ3VOGwHN6+PXLdC56TEDDN3Ch+/ndWR/85JblhEqGUGCG2+PeRzIOH6KYE/CK4u0rH9iv1PqFgCo3tZW8xkWwFIGTAfdAJzwhsjmw+0 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 12/4/23 22:21, David Hildenbrand wrote: > hugetlb rmap handling differs quite a lot from "ordinary" rmap code. > For example, hugetlb currently only supports entire mappings, and treats > any mapping as mapped using a single "logical PTE". Let's move it out > of the way so we can overhaul our "ordinary" rmap. > implementation/interface. > > Let's introduce and use hugetlb_remove_rmap() and remove the hugetlb > code from page_remove_rmap(). This effectively removes one check on the > small-folio path as well. > > Note: all possible candidates that need care are page_remove_rmap() that > pass compound=true. > > Signed-off-by: David Hildenbrand > --- > include/linux/rmap.h | 5 +++++ > mm/hugetlb.c | 4 ++-- > mm/rmap.c | 17 ++++++++--------- > 3 files changed, 15 insertions(+), 11 deletions(-) > > diff --git a/include/linux/rmap.h b/include/linux/rmap.h > index 4c5bfeb054636..e8d1dc1d5361f 100644 > --- a/include/linux/rmap.h > +++ b/include/linux/rmap.h > @@ -208,6 +208,11 @@ void hugetlb_add_anon_rmap(struct folio *, struct vm_area_struct *, > void hugetlb_add_new_anon_rmap(struct folio *, struct vm_area_struct *, > unsigned long address); > > +static inline void hugetlb_remove_rmap(struct folio *folio) > +{ > + atomic_dec(&folio->_entire_mapcount); > +} > + > static inline void __page_dup_rmap(struct page *page, bool compound) > { > if (compound) { > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 4cfa0679661e2..d17bb53b19ff2 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -5669,7 +5669,7 @@ void __unmap_hugepage_range(struct mmu_gather *tlb, struct vm_area_struct *vma, > make_pte_marker(PTE_MARKER_UFFD_WP), > sz); > hugetlb_count_sub(pages_per_huge_page(h), mm); > - page_remove_rmap(page, vma, true); > + hugetlb_remove_rmap(page_folio(page)); > > spin_unlock(ptl); > tlb_remove_page_size(tlb, page, huge_page_size(h)); > @@ -5980,7 +5980,7 @@ static vm_fault_t hugetlb_wp(struct mm_struct *mm, struct vm_area_struct *vma, > > /* Break COW or unshare */ > huge_ptep_clear_flush(vma, haddr, ptep); > - page_remove_rmap(&old_folio->page, vma, true); > + hugetlb_remove_rmap(old_folio); > hugetlb_add_new_anon_rmap(new_folio, vma, haddr); > if (huge_pte_uffd_wp(pte)) > newpte = huge_pte_mkuffd_wp(newpte); > diff --git a/mm/rmap.c b/mm/rmap.c > index 112467c30b2c9..5037581b79ec6 100644 > --- a/mm/rmap.c > +++ b/mm/rmap.c > @@ -1440,13 +1440,6 @@ void page_remove_rmap(struct page *page, struct vm_area_struct *vma, > > VM_BUG_ON_PAGE(compound && !PageHead(page), page); > > - /* Hugetlb pages are not counted in NR_*MAPPED */ > - if (unlikely(folio_test_hugetlb(folio))) { > - /* hugetlb pages are always mapped with pmds */ > - atomic_dec(&folio->_entire_mapcount); > - return; > - } > - > /* Is page being unmapped by PTE? Is this its last map to be removed? */ > if (likely(!compound)) { > last = atomic_add_negative(-1, &page->_mapcount); > @@ -1804,7 +1797,10 @@ static bool try_to_unmap_one(struct folio *folio, struct vm_area_struct *vma, > dec_mm_counter(mm, mm_counter_file(&folio->page)); > } > discard: > - page_remove_rmap(subpage, vma, folio_test_hugetlb(folio)); > + if (unlikely(folio_test_hugetlb(folio))) > + hugetlb_remove_rmap(folio); > + else > + page_remove_rmap(subpage, vma, false); > if (vma->vm_flags & VM_LOCKED) > mlock_drain_local(); > folio_put(folio); > @@ -2157,7 +2153,10 @@ static bool try_to_migrate_one(struct folio *folio, struct vm_area_struct *vma, > */ > } > > - page_remove_rmap(subpage, vma, folio_test_hugetlb(folio)); > + if (unlikely(folio_test_hugetlb(folio))) > + hugetlb_remove_rmap(folio); > + else > + page_remove_rmap(subpage, vma, false); > if (vma->vm_flags & VM_LOCKED) > mlock_drain_local(); > folio_put(folio);