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 B4B3FC61DA4 for ; Fri, 24 Feb 2023 00:53:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ED2E46B0073; Thu, 23 Feb 2023 19:53:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E82FD6B0074; Thu, 23 Feb 2023 19:53:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D07C46B0075; Thu, 23 Feb 2023 19:53:17 -0500 (EST) 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 BE1A06B0073 for ; Thu, 23 Feb 2023 19:53:17 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 7DC8A121049 for ; Fri, 24 Feb 2023 00:53:17 +0000 (UTC) X-FDA: 80500361634.27.95D963F Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by imf14.hostedemail.com (Postfix) with ESMTP id 62BA4100002 for ; Fri, 24 Feb 2023 00:53:13 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Sh4z0m0q; spf=pass (imf14.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.31 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=1677199994; 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=A9BZDt7AweoN8elh8g31ObuC1unaTUIbgSn7XTN8yrw=; b=2j0Nw/cl0DKf8UUcqYMsanEFvEuaPVz486NhBqtWAs5hu5uKS+bZOTKrGqNYViSKCQ5QYt pGuMZkknbK81qHitZXt4Uetkps1WAZYU98Nc7WHQFGtkk5v4j9JMQuMC+INLLVx2DIrzsi vVaCzJN9UdRLSyzyrUzGBcZw6qAKOWY= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Sh4z0m0q; spf=pass (imf14.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.31 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=1677199994; a=rsa-sha256; cv=fail; b=SvB3ufprXkURESg00di36Qc9eX1E9+pA+q9a1n5D1PMIShgBuvZt4bsSnRlpZgXSCkkVGi wgXtB+Cn2xXz9y5ZB7enpbTN03lIpBACOeHSrLdKSIV5xk+I2mpz0d12LkzfYH3UkCeCoL cG2vfNxSjTJx6MRMZ6Pejw4KTcqO1J0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677199993; x=1708735993; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=Y4nEHOlvIwJRJoEds3Jg/bN59E0BNt5njLny1t1z+pM=; b=Sh4z0m0qynJtHrUj4COKPUGgnB3A431PRXIqHonMlfaBc28YhVaBYS4b u1Z/FzBu+A45UdVQ72vHK+Xi/dIJN/3LEjAaXe5tim/tKlHXB+ltQ4flF JODBc6SbyZcpOB6xB25AsEpK0MUOH1NblZh/dHG7sIns9ZR2yDGV8ZL6S YTd1OyYkl++hQzufmjz24X1DPL3d92miQU17SjO2UgAwyPMvBNjem2+93 MOGquNVjxjF4ysngV8cDX7aFrGAmGUx/ZcVAPUikiFeA3FzGy3nkp6u/l lpV9SVO5jt3bcWS2vqDzpkFk2ocP0ljc5n12Q7dxtvWynf7hrJarHYLTR g==; X-IronPort-AV: E=McAfee;i="6500,9779,10630"; a="395872218" X-IronPort-AV: E=Sophos;i="5.97,322,1669104000"; d="scan'208";a="395872218" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Feb 2023 16:53:11 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10630"; a="761608274" X-IronPort-AV: E=Sophos;i="5.97,322,1669104000"; d="scan'208";a="761608274" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 23 Feb 2023 16:53:11 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 23 Feb 2023 16:53:10 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Thu, 23 Feb 2023 16:53:10 -0800 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.48) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Thu, 23 Feb 2023 16:53:10 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bq3JOvqBIqwhNJDGcs9KXVgJD1COsIBbJYziIWYif8xabwtA2GPZ2Svgypk5DcK7zhC5UvIRBcsZwTa0EFQvLqR8BCBf+zV8YS2R3ccN4mtniRyh0XY0vH352srGeBYTocQNUe/SpCLo5wdR0vhpP1RpiL7bbzeQFyi803SmKdYwTASqkQJLzBr4MI+CGpR6LDlRnW/WwPt3YdnulTRU+b/lRgOq2jLwfObBf2M1/ZyMnwfj+ECrmEcn4zNOgcRzQcmG16ilRCF7NE/bep2TmoDU0FqAuIn9YKozL8CA9tHBIi3UVxk+N2zUa6sAUfI5nQHzTPYTgf3HSMLwn0d18w== 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=A9BZDt7AweoN8elh8g31ObuC1unaTUIbgSn7XTN8yrw=; b=AZMmTXDbK+TgShGCXROfFkrS0E9iN+Gg+INun0go+RKVBu8ErNwmf/8Sco7x1KJyHfVikCTkHpq+sMrciuHpsxjCxVkStVbpUjrUz2ipCBRvakWaR5qqIcP5XdX/JS24Z6phS4J9OVcH//xeXQgqycqgxvnO/cCSCIXenX7kPOW+wSGhkSXD6Lt3CYGf7XP3X0eGS7LBZkv7uAuToFvOzyGqRPwSn8w2hYX1v9S9+fazySK6pp83Hh0CSWD7gUZRi5NTfsxe9hVu1bWjNmJ85MVE7Ic0Bag28zQT1NzNESGd5tmLBOdFzsrQIlmKDp48gaLt5knkONyXpA/LhMKyNQ== 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 CH0PR11MB8215.namprd11.prod.outlook.com (2603:10b6:610:182::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.19; Fri, 24 Feb 2023 00:53:07 +0000 Received: from CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::8073:f55d:5f64:7c6]) by CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::8073:f55d:5f64:7c6%8]) with mapi id 15.20.6134.023; Fri, 24 Feb 2023 00:53:07 +0000 Message-ID: Date: Fri, 24 Feb 2023 08:52:59 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.8.0 Subject: Re: [PATCH 1/5] rmap: move hugetlb try_to_unmap to dedicated function To: Mike Kravetz , Matthew Wilcox CC: , , Sidhartha Kumar , Jane Chu , Naoya Horiguchi References: <20230223083200.3149015-1-fengwei.yin@intel.com> <20230223083200.3149015-2-fengwei.yin@intel.com> Content-Language: en-US From: "Yin, Fengwei" In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SGAP274CA0011.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b6::23) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|CH0PR11MB8215:EE_ X-MS-Office365-Filtering-Correlation-Id: 801e19d8-6038-44ee-4f5a-08db16017e1d X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DuXj+w8s9m2xLbg3dYgSz/5tjasvtKo+qbMbOp4d7IAIIHLkUILrmBlcGCnC5VyOBPIvRuu6+RAFc21UCeVuJv3hhEbnfYhUSVRPADBGHMsE8h8/mdBehlFNcoYs5tAbWYqYkAkKeCJ10Vk5G9gbhwgUVxAxuIUZ7quEtD5iTW7xgw3b9+3ZTsVqOBAbIUa4pplN4Cm91rMuUUWnerOvHtfYuGqB1RDA+r22J0AByH18GhdkfuRjSyDIal07QZtRJoSieQi/aIbI9hJWp6Ub5d+JVepZo41CDMOxqF5flxxWEXcsN6hUbqGXV/WmN8TxLDdU6Dgd3NqJAdN82ZNQRSm1BBht3eYZYmnFAzItDk6YY0R89Z44yM/Q8ca1Do8a6ZZ6BFv3geaR3aOs6/N2Lyfi+kA+iROGDoAfyEidinT7mn6JVHvJ0lvStQUfEcZnjX4R/nyTSyJ8v2JnpJqxfPf6qZ2eLdZwjTk4x1iahgRl67O2zzYk44P5yiIE+FnGrOwUjQCwUJ4jCk/Aj8AMlolFA0W88ihhSMmjNjW2KuwWMVeuil+IfFhl2Ivi02OpNdcz7sEId/xze7q258FBg/XS1tUgyR5KY1xrnd5DJ8RAVD8tvfgPaX0yNYdtsKKVKLp3MSrnDjR60KNhyzr5MtQ4+H8WI/xNFPKqde7zHXwJPktumYcWqFmmMJHxDC7j7Tc1L6oBbAICJNhdKeIikZvVxNAjTz4+PoLIf+o6p9U= 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:(13230025)(396003)(39860400002)(136003)(366004)(346002)(376002)(451199018)(31696002)(82960400001)(38100700002)(31686004)(83380400001)(86362001)(2616005)(316002)(8676002)(8936002)(5660300002)(4326008)(110136005)(54906003)(66556008)(478600001)(6486002)(36756003)(66476007)(66946007)(41300700001)(6512007)(6666004)(2906002)(6506007)(53546011)(186003)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U25RcWhzQWIrODZzV0tKOFBtaDRkUWIxNUN2NmZaNXVQdlI5UWRocjN3Rmwz?= =?utf-8?B?RWVrL0dPUE5hUFZ4c2pnWDlhVDd6eStLMGk0eFkxMzgxLzBicmdTRVhtUE5U?= =?utf-8?B?V1RXYis3ZzhZaXVhVkJYNkkyN1U5WDR2R1A5SFk4ZEdFK3R2NWxNalNkT0Vq?= =?utf-8?B?bTl6dWx2RDhETHdQT1E5OG9NSnMwMEhTWVpmUm5DTlBkcmZua1ArMEhSUVJa?= =?utf-8?B?ZjcyYmVBdkN3S1Z6K0RwR1dSUUthSnMvSkFLb1NWT3YvcWIxUTlrN0pIWDMv?= =?utf-8?B?blZPWkRQV1hJdkhNc0t5SENhRGQ0Y1k2SHBSbGtkTXdDQVZFMFpybjFJeVU2?= =?utf-8?B?eTduWFhpRmZuOGZVdVJ2SjRHY0t6UWU3V0JvMURmeHA4VGlad2wzdUJmWlBn?= =?utf-8?B?OGxzOFFkcVZCUjUvT0JWampaWUJvOGQ5aE44RmN2V1J6MERkNmE5TWRlM3RF?= =?utf-8?B?YWJJUFQybmt5NERVaWNuTm1LS2NnQlArRGVNR0gzQ3F2YTdlUWVzNkVwUHpD?= =?utf-8?B?eWZjTTU2SUx1M3ZobEFBeHNxT3czeGE2cTRLS0E4VEJPVDNQMkx1bk5uOVBR?= =?utf-8?B?bEFnK3Y0Q09UbUJ5UnorZUUzcG9Rdk5mb1BQd0hDYlVuSDVydkx4VTQ5S1Nw?= =?utf-8?B?aXJoM2tXOGxOQTBNNWRWV0NHRGl3RHpuK2l4R2tua0FFbHVQQVljTE03V05u?= =?utf-8?B?YnFBaHpVN1FMZ1ZjRTY0Njk4b08rTzBweGYxTE9zbm91Q3k0MStDaGEwaFpx?= =?utf-8?B?SytaUlVIT3FhMGZ6djZ0anpPbWRVWUdvbEpSUm94cjFYSEUxcTZWYU5KNEFv?= =?utf-8?B?R2JKQzhMdHhxUGFSeEdETHVxUmlkczlwSGQycHp1S0JJSlE2cHJORllRV0p1?= =?utf-8?B?YWRVNStzemhtSWYyejNISUVUdWpQbjV1cEYzZEhBdG9VR04vV0FQK1lJbnYx?= =?utf-8?B?NDYwaGpVSXFaOVc1MlZuNTJWZXZmSEI4V0JMV0lRbkhuVmhIQ1Y3T3FQZHYz?= =?utf-8?B?ZHIybWwvMXcvREJmS3pFWTZSSnp5WXhpalRkOG5ML2FRQUlZTkhuZG1ibTBE?= =?utf-8?B?dkpEbVlCR2JGMTAvU3BtL3ZGZVEweEExMUtIWnVOa3hGRzhjZi9pMFhzL1ox?= =?utf-8?B?Uk4yUlNRVENjdlNrR3FpbmNjODFsaEdWQjhHOUxMMnhOS252dG0yZ1ZobE9z?= =?utf-8?B?M21ES29LZW5SRjRYSmEzbkxXNmhBUGRWZ2F1MFN3ZmlaZFhqUWNtYjVWMFpZ?= =?utf-8?B?VDlaejVSaTFSM2pHZ1lvSWxqM0NieW1PcWsrRnFaS0FMRExycGNFR0l2bGZ6?= =?utf-8?B?RUZjYVlNd0VCNFRuY0pTaTVBWEdmcS9VRGN3RWxWNjFOeUFzWFRldnZhTGMz?= =?utf-8?B?b1hQRDY2RWx0WHU2QUF5aW1oQS96NkFTUGZTaE9XaXQwMzB4UHBUdkFTVXUy?= =?utf-8?B?cFVMdHJSaVpvSGNTMmZxT0NhZ2F1SzRObnRjSlRVdENRU1h5blg2S0pHcm1l?= =?utf-8?B?YWMrTUVkNm1kYjlBeVVXOVJBWGxiOWNVQnA2NVV5aWdLaVhETW5MRTloQXly?= =?utf-8?B?ZWM5RXZjZitCOEYrUFFoUHdaRmxuZXRvUmQ5L3pxMG9oVVVVbng1Z0lZamhN?= =?utf-8?B?RVFhVGJ4MnUvTE1BeHJKZUlkbEhOandwdFRaYWxGVnVlempvRHJVdUVYS1RM?= =?utf-8?B?TC93QlduZno1b0g4bXhicnJ0VEJBckw1YnEvb0V4VngvL0g3dTdkUDM2MVpy?= =?utf-8?B?QjJqRU9HeDhOYXVDQlNjMTZhRkFEOGlranFnSUV1T0ZzVWNKczRGRVNjQVla?= =?utf-8?B?QzROYS9HZXZYZ1R4ZDlIOC9oUklHOWV6aWNrQlBROEV5RWFQZmVsam5GQklQ?= =?utf-8?B?ekl6UmJ6Q2R2NUthQzV5RUs0Rk44ZDd0OFN0UGRFZTB4eGJia3Uwanhrdm1F?= =?utf-8?B?Zkl6am54dHdKSlRjRjRObC81UE1rbGZ1QzAvRVZuL2pZeFMvdy9OOVdMMnU3?= =?utf-8?B?Q3JSeVZjOElxNGxwSDBMZlBrU3dXdlY2bzFBZkdmVFE4NXZLTFhnZ2tGRitU?= =?utf-8?B?VmZZSmthZE1HdTJsbFk1SjZDc1BJY1RVYTNnMXpLLzVrQko4KzBTVmRpWmF1?= =?utf-8?B?Z3k4a3B5VlNsYjJQd0pZRWhOSFkzVWxWTzVwRFpTRVBLbUZFcWV0UmlPVjQz?= =?utf-8?B?NEE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 801e19d8-6038-44ee-4f5a-08db16017e1d X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2023 00:53:07.2809 (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: 13XgbTL67BkaQrK01eSV6E2BZ6U1uwvA7laNIHMm9Em1jxAwjSH8hUl9jCu2Phn9aUuFFWopsaSfuxbQzbcBmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB8215 X-OriginatorOrg: intel.com X-Stat-Signature: 6br8oudryjqpy437k6hcbrkqxrp7ps69 X-Rspam-User: X-Rspamd-Queue-Id: 62BA4100002 X-Rspamd-Server: rspam06 X-HE-Tag: 1677199993-512578 X-HE-Meta: U2FsdGVkX1+OIdTAntIHoFpE2tu8YbnzLvRzHKrmEJ+/Sg72fD7HCi4YvVfaIggado8tAGdh9P6sY4HAKV64xgdFwFqSmXoFV3xQdF2GR0HnXzlb+tIdCKCoLeTpa1RQvFMvbCDudK+hTsaMVddzsfEjl7mRtLBEiup7mCgKGIjn5k9Np1d+qmpbiBhjjNmJTCYE0P2ow0zlZC/0gB2tAVPraDCrWMqULQfEXJn4+HNJgjPfJTrLucJuEOsnoYqTa/LtL8xDGbxz7/NmGPB34a0/0ylTYUjOZrjLZX0uteyR+HIVF4RRpiXxbWQnuwkmsA/Rkr/1iOZ6tm2BOY7ydex2Lr+O0HCzZRjomQ8Vpmwa9d85dEii0uaRImw2HvMPSDxpChncohQqnfw+ttRqcYu8xEwySvjcqxEAh43Z2YvRdyCAOB+DO/Njf3atx1PZ/PiHamkaJheG8SibhFj6GmveluZgQcXWafdlTNP1RoRyWk/3T/rY7rw8GtSVXKW89mhSkPGCUvuWQ03xeZoe73lv8iNXCQ046KXNF+bRLaqXofDLIaVHHhpjoZl0jVAEE/zAiCdCmaE6Uiat5gDUuR9pLCWBcWu+vd3c4XVWxrcqYQ3vHhGJ5mbXZi1BqmqQRjej/sLumEQBzIiLNtjLyAVnDyNsRjqsufWvFykaB0K6mS+5KJpL36KPH5OKiorEBIiccqq1cOH26Cql7n/D494MGbBGcWNuXC7L8H+58Rq9xL+xxK4wOVhMRb0aWX+P+2kbwN1K6sKi/MbwBh6azNUa9DwmpFILE0EfjA8YkfkkhdcbaDP4amQVDVbR9cylV2fbV0APs0qnc/idU9gTyvdBA+mhsS0BcXM0VWIrhZDAZgetUIGUBkaXQbU9juQcaophOXO/9IYi6KmDoMNRO+n6wCHqoKIxJ3VLy/UVA4+DDWIOL82v4MtYqsHsuN+BfuEvKpCv2fLfbiFhdSU coEWKyn/ X8V4KZEyQAkveGeqLdyBaVl7d6YtXBGA++496pHPl4DoY6bTVFVUliAqSGIvtIoqqsVrzpYrYLFnQJgyPs16RSN6zMbwU9l1JOxpujux63n0zPK8oGPYHOH5oLwA5/Ik3wsp0f5mxSR3W/gvYbG1WRUe3HE5VijAKCI4mVywZNVA9ZQ4PBD0j/SGHhXDAHIYYpbN5IKC8XXK4xF7O3AHHZkh5ykz8IX+JdcBMKoBbIUYvpFw6W5hr/1EPeSPUtkyPZi/9rkYhENWmVPcv8VkAdEd6+D8HU/Y0tXQpiQDJ3wvUKoq1xrkCCL/avt+uBN5VVMtu6N7lkEqTxRmZyDRWo6o6xQ== 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: On 2/24/2023 8:20 AM, Mike Kravetz wrote: > On 02/23/23 17:28, Matthew Wilcox wrote: >> On Thu, Feb 23, 2023 at 04:31:56PM +0800, Yin Fengwei wrote: >>> It's to prepare the batched rmap update for large folio. >>> No need to looped handle hugetlb. Just handle hugetlb and >>> bail out early. >>> >>> Almost no functional change. Just one change to mm counter >>> update. >> >> This looks like a very worthwhile cleanup in its own right. Adding >> various hugetlb & memory poisoning experts for commentary on the mm >> counter change (search for three asterisks) > > The counter change looks correct to me. > However, there is a bunch of code in the else cases for > > if (folio_test_hwpoison(folio) && !(flags & TTU_IGNORE_HWPOISON)) > > in try_to_unmap_one. Are you sure none of it applies to hugetlb pages? > It seems like some of the code in the > > } else if (folio_test_anon(folio)) { > > could apply. pte_uffd_wp perhaps? In the "else if (pte_unused).." and "else if (folio_test_anon(folio)" path, it uses set_pte_at or PAGE_SIZE for mmu_notifier_invalidate_range(). So I suppose hugetlb will not hit these two branches. > > Since you are cleaning up, I think the following make apply ... > >>> +static bool try_to_unmap_one_hugetlb(struct folio *folio, >>> + struct vm_area_struct *vma, struct mmu_notifier_range range, >>> + struct page_vma_mapped_walk pvmw, unsigned long address, >>> + enum ttu_flags flags) >>> +{ >>> + struct mm_struct *mm = vma->vm_mm; >>> + pte_t pteval; >>> + bool ret = true, anon = folio_test_anon(folio); >>> + >>> + /* >>> + * The try_to_unmap() is only passed a hugetlb page >>> + * in the case where the hugetlb page is poisoned. >>> + */ >>> + VM_BUG_ON_FOLIO(!folio_test_hwpoison(folio), folio); >>> + /* >>> + * huge_pmd_unshare may unmap an entire PMD page. >>> + * There is no way of knowing exactly which PMDs may >>> + * be cached for this mm, so we must flush them all. >>> + * start/end were already adjusted above to cover this >>> + * range. >>> + */ >>> + flush_cache_range(vma, range.start, range.end); >>> + >>> + /* >>> + * To call huge_pmd_unshare, i_mmap_rwsem must be >>> + * held in write mode. Caller needs to explicitly >>> + * do this outside rmap routines. >>> + * >>> + * We also must hold hugetlb vma_lock in write mode. >>> + * Lock order dictates acquiring vma_lock BEFORE >>> + * i_mmap_rwsem. We can only try lock here and fail >>> + * if unsuccessful. >>> + */ >>> + if (!anon) { >>> + VM_BUG_ON(!(flags & TTU_RMAP_LOCKED)); >>> + if (!hugetlb_vma_trylock_write(vma)) { >>> + ret = false; >>> + goto out; >>> + } >>> + if (huge_pmd_unshare(mm, vma, address, pvmw.pte)) { >>> + hugetlb_vma_unlock_write(vma); >>> + flush_tlb_range(vma, >>> + range.start, range.end); >>> + mmu_notifier_invalidate_range(mm, >>> + range.start, range.end); >>> + /* >>> + * The ref count of the PMD page was >>> + * dropped which is part of the way map >>> + * counting is done for shared PMDs. >>> + * Return 'true' here. When there is >>> + * no other sharing, huge_pmd_unshare >>> + * returns false and we will unmap the >>> + * actual page and drop map count >>> + * to zero. >>> + */ >>> + goto out; >>> + } >>> + hugetlb_vma_unlock_write(vma); >>> + } >>> + pteval = huge_ptep_clear_flush(vma, address, pvmw.pte); >>> + >>> + /* >>> + * Now the pte is cleared. If this pte was uffd-wp armed, >>> + * we may want to replace a none pte with a marker pte if >>> + * it's file-backed, so we don't lose the tracking info. >>> + */ >>> + pte_install_uffd_wp_if_needed(vma, address, pvmw.pte, pteval); >>> + >>> + /* Set the dirty flag on the folio now the pte is gone. */ >>> + if (pte_dirty(pteval)) >>> + folio_mark_dirty(folio); >>> + >>> + /* Update high watermark before we lower rss */ >>> + update_hiwater_rss(mm); >>> + >>> + if (folio_test_hwpoison(folio) && !(flags & TTU_IGNORE_HWPOISON)) { > > I'm guessing this can just be, > if (!(flags & TTU_IGNORE_HWPOISON)) > > as we only get here in the poison case as indicated by, > VM_BUG_ON_FOLIO(!folio_test_hwpoison(folio), folio); > above. You are correct. Will remove the folio_test_hwpoison(). > >>> + pteval = swp_entry_to_pte(make_hwpoison_entry(&folio->page)); >>> + set_huge_pte_at(mm, address, pvmw.pte, pteval); >>> + } >>> + >>> + /*** try_to_unmap_one() called dec_mm_counter for >>> + * (folio_test_hwpoison(folio) && !(flags & TTU_IGNORE_HWPOISON)) not >>> + * true case, looks incorrect. Change it to hugetlb_count_sub() here. >>> + */ >>> + hugetlb_count_sub(folio_nr_pages(folio), mm); >>> + >>> + /* >>> + * No need to call mmu_notifier_invalidate_range() it has be >>> + * done above for all cases requiring it to happen under page >>> + * table lock before mmu_notifier_invalidate_range_end() >>> + * >>> + * See Documentation/mm/mmu_notifier.rst >>> + */ >>> + page_remove_rmap(&folio->page, vma, folio_test_hugetlb(folio)); > > Always compound/hugetlb, so could be: > > page_remove_rmap(&folio->page, vma, true); This is in the patch 3 of this series. > >>> + if (vma->vm_flags & VM_LOCKED) >>> + mlock_drain_local(); > > Since hugetlb pages are always memory resident, I do not think the above > is necessary. OK. Will remove this piece of code. Thanks a lot for the comments. Regards Yin, Fengwei > >>> + folio_put(folio); >>> + >>> +out: >>> + return ret; >>> +} >