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 C2234C61DA4 for ; Fri, 24 Feb 2023 00:20:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EEC0C6B0074; Thu, 23 Feb 2023 19:20:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E74596B0075; Thu, 23 Feb 2023 19:20:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C9F306B0078; Thu, 23 Feb 2023 19:20:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id B1B6F6B0074 for ; Thu, 23 Feb 2023 19:20:45 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 77A64AB60B for ; Fri, 24 Feb 2023 00:20:45 +0000 (UTC) X-FDA: 80500279650.20.2A7C7E5 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf29.hostedemail.com (Postfix) with ESMTP id 307D412000A for ; Fri, 24 Feb 2023 00:20:41 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=n3W+fvId; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="L/gk+1t4"; spf=pass (imf29.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1677198042; a=rsa-sha256; cv=pass; b=fEMmb/KBMUEVaDyjckV/9H0AOFtPhODhXSd33ZKDi7rAr4340ml7w0b8nTXRqjzvvJnL2a cR3UvkaU/so1cXmjb7KarWg1L3btodoSBxGGGSXDQqOPYEAmf6nEHL5yKL4MZ7QmX9+oOz JX6KrHPc7FBRw8SN6aaR0E7r5b7i44g= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=n3W+fvId; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b="L/gk+1t4"; spf=pass (imf29.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com; dmarc=pass (policy=none) header.from=oracle.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=1677198042; 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=D52vkWmZpDGSVz+pRHTeM0TN7qWHoIOrrvrh4KL59aM=; b=aUjbXaB/5TxdOhuHS2KeJHCOee0gOLtzBhHiL1lVOWgxaJRv/U3ISs3RE0xqsK65P86jnR yK17xVvU/Qfe31EgtdGmL3Hd8dQMDwBqFTJGPf8T8oDrG10CpVL6q/n34ovCTJHtph4vrY jG6op9UENsa3/qvERgP/FeHMWjh7Dcs= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31NGwvv1004151; Fri, 24 Feb 2023 00:20:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : content-type : in-reply-to : mime-version; s=corp-2022-7-12; bh=D52vkWmZpDGSVz+pRHTeM0TN7qWHoIOrrvrh4KL59aM=; b=n3W+fvIdeE+3pfonIkaZX0Zz/t4AaE2YlxRZgs0mJRIAgbkx2EL+wlRSILeNGcDxSx6B +TwqzcDMTXLF0Vh/q14udunVzH6B3IOL3uYFuuZGzFfGb7F5xdINd53XKEQeRSecXe7k xv5WFAJebXitZ4DYX6twy81vz6351GB9PAe3h8Ty13my8z2/+jgTkBJ8PTcAeG+S5UFq w+bFFKyvZ03I1k8m+qsR+gFGq6Y7wsOvXyXtOU1kWWE/DJF+6xJZaxxnqfqLRo0Q78dd kGMFWuLFcLdiHo0SjgZ0mdcM+stil6FdII8m2i8NAq5gemJgBCm3EkDWlOZg23Cz9QPs IA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ntn3duyjb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 24 Feb 2023 00:20:34 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 31NMCX1q018074; Fri, 24 Feb 2023 00:20:34 GMT Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam02lp2041.outbound.protection.outlook.com [104.47.56.41]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ntn492axy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 24 Feb 2023 00:20:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ACD+UG03uzhVQPDOTuEbzSHzGh+JCh5g+iWbAJV9psXK7ahzSz3obpnpv+UNfL78CNjzD83BgCzEkHpJ7O5VUoncPqd5WjG0etIXZAMKv8hS6c8XoJGFR/ZV9WQ3XCo6W3HAEicG94nG5DFq12vHXlnk4Nv6uKfuYCiIilvBvjRCe89K5bXTR4uvn2ce5EBZHOUaHKs4nR1WrXVKiy1OwRTeeMTuKmeHNB/4QQJ1ekV64/0j30G6f7XNrsroOw9uj+TICdpGXOnYzUOFHWOY2zfGTpWX5yXZ6ioSwYeRMqpgGdlJtOvZmVFqkvYB7JFBA0Zpr5MSJ2ASQFAaiErJ+Q== 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=D52vkWmZpDGSVz+pRHTeM0TN7qWHoIOrrvrh4KL59aM=; b=XUNuqxsjiNKj/cvW/Fi4M0CL8cxqy2135gBwQxjJGX3e2Maa92INMxVJACOWirIi5pQWeVOa6EZXh11LOz5FugAdFOsSsfNzZoNkekiWTmYR6q2x36Xb2DN2YDqebe37LL2YahXOjJwMKKWaQoKc0BTX1DQ9bOU3A2ljOymvXQqzf11PFMqC5LpYd0ymwEXpO7XAQL55V7vgLF4bJg8MmvasKovawgyzhWMomKVGOvH8qDSSxfVizIkBili9BPHeX3+53qrF1RM4/pz0nw+U+w/rO2OCeUxIH/hma7LkrRQM+x1y6drk3R94nsTqAMPnSqO+RLtf9/PeJSJ1Pw8kvQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D52vkWmZpDGSVz+pRHTeM0TN7qWHoIOrrvrh4KL59aM=; b=L/gk+1t4A36T2rAhjUlWGOTRI+P5lypINnXmg1+LiVFDb0EzOZPpr+sDMB98Lk3F5geFvY13dDNOf/nd6+Ky5ZNba6Hql5I0mtJJ2WjIQZbTm7PNXWgg/OrWhpZ8DW8XTYAzCt75oPR62RidlwfWTFhzpcjGN46Rj1i/u0xaGH8= Received: from BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) by CH0PR10MB4940.namprd10.prod.outlook.com (2603:10b6:610:c7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.7; Fri, 24 Feb 2023 00:20:31 +0000 Received: from BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::3db5:6e11:9aca:708a]) by BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::3db5:6e11:9aca:708a%8]) with mapi id 15.20.6156.007; Fri, 24 Feb 2023 00:20:31 +0000 Date: Thu, 23 Feb 2023 16:20:28 -0800 From: Mike Kravetz To: Matthew Wilcox Cc: Yin Fengwei , linux-mm@kvack.org, akpm@linux-foundation.org, Sidhartha Kumar , Jane Chu , Naoya Horiguchi Subject: Re: [PATCH 1/5] rmap: move hugetlb try_to_unmap to dedicated function Message-ID: References: <20230223083200.3149015-1-fengwei.yin@intel.com> <20230223083200.3149015-2-fengwei.yin@intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MW4PR04CA0362.namprd04.prod.outlook.com (2603:10b6:303:81::7) To BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY5PR10MB4196:EE_|CH0PR10MB4940:EE_ X-MS-Office365-Filtering-Correlation-Id: b3ec6d2f-a9b2-4bf3-8274-08db15fcf071 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xQChk4emxWenGMxGYZ+ak0GwV8mt0v1iAyVl5eyJ32FA5Ih80pZzczC8XfKSncxCmhWeJ9ihiq4khyjHmikQtGs1NF1OWA1ON93aq4eIBqDHLe03Lc4ZJT3nr09Y4m6T2a8UJUgNm4K/K7kwlPU7mZCa2ki9msYHtP/0+6jjHXU1dvYzSE9d4NkN35IO6vdDJjLrDvHCN0IchfaEL/ggi6rRls8atSR72kXnvtfwCRk64Y9DEjXpcb+su+2/Bchfn0fw6OH6vmuno+M+ha6shQ3vsUM2krr7CzaHq2NDwu7JyDXAaxHMsnSPs1R1W6iJ8k6PG+tOt/3ulcBPs6ooA60A+04E/jSebo9MbHST4z4wozVDPggrkH7hQpM4uapnzoUwocYrrF5jlGoY6+r2QJ/8SZZZSJ1CYIkKH23tPn6hw9AeNPodHqkCRQqYX5J2I/XEPbz9775/iC3ePLk8qKuw/TNtwxH1ZuMTb5pNUSZJu9JsRgn8B4g4W50MMSPkjKqK01rzF7vwX5HjL4SYHRgboytKpL9wSoNB7ebLU7f3oR3FD8pDvQNi1oZUWHWGYaWiM/GK7KI5tIN3Flaj04bt5Kre/fEmHKULhAchGScLIjBEDMXu8+1o08nfi9rSksT/Q54IrLteHysut25xiw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR10MB4196.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(346002)(396003)(376002)(366004)(136003)(39860400002)(451199018)(33716001)(38100700002)(54906003)(83380400001)(6486002)(2906002)(316002)(6666004)(6506007)(26005)(6512007)(186003)(9686003)(53546011)(478600001)(86362001)(41300700001)(8936002)(44832011)(5660300002)(4326008)(6916009)(8676002)(66556008)(66476007)(66946007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kJeTkCpey7aL4yXmaIW42Q+pjt+jFm/W0noZPN0sxYIQkHWmKS/ewyPOLm4h?= =?us-ascii?Q?kR1r+LYg0Ge7WJJwRdi2AHOeS0QltJFZKk7JeKxmC4KY7EJh580VOw116Luh?= =?us-ascii?Q?EeX4x2kTA9YnFKJCpVoVn14N1m7EB6H16yC+5tAHUAbJBITKCLODlsvqZE8D?= =?us-ascii?Q?57/bBR6Y+POWXbjsLK3wiePTzmrvktY6I7Lamir1WEtgTGXV7c/n76m+FTAJ?= =?us-ascii?Q?zj/afc+KQnubMKBZiLgiP7xFBrzemYyDXpmXa7Zi+hnvA84TIDpaNqVffocp?= =?us-ascii?Q?SuwSsmSpAyN31rpG01PenwnOw4PIGyVil7e9yZd5tE1fZ+9CWKZT2mmohHSk?= =?us-ascii?Q?WhJFroCaa4bxnAWwovZgO5ViqcSjn8j8oM16QyqiruFbHZAgF4ZzfLboXcmH?= =?us-ascii?Q?eAg7/MQVYG7n9Ox5hJ4hEeWyGei9KChIJoKNwjZbipTLYKJQzKtYRq4wN1Kb?= =?us-ascii?Q?o4nLbIgIeCqA83PIGQLiJFHs3V1bp2TmD6IjhmZAffb19QbFzO/kAN166yR3?= =?us-ascii?Q?Q+Ey+/h6zWByIpXZtIFuZZUVCDEdUGypZWB49/hKy8HGpKx/1zJAYTs9CCI/?= =?us-ascii?Q?DC+WCOnVpk1otyM04oYuljLSoDJMRme4gSHDPMVAjujjNdYcnraBq7tT6P6U?= =?us-ascii?Q?htKHYKFSzhCama3/lmsHI9UahGsbeMsW92NxOpKZH04BtVddG8hpHj7oAum1?= =?us-ascii?Q?Hrzu4HiudyHqwukJVBvm2sWbcJ+XJdyB14s828d9L00u4Jmz0xw8p2Jr6/Ty?= =?us-ascii?Q?z4UilemQT4TAU/6GxpcKVIXsVgHa7tjHb1ybjoanmLwrZfglhKAOocRW6/Ww?= =?us-ascii?Q?lwzD4ue2EbRumdTX/nkFxqAIhpusv8ETKYVW8l67oen3iEUckDesmx/l5WLs?= =?us-ascii?Q?JDosXxHV1oN6z6U/6lOVIicHG+pLsPXJ4aqZ60XFNgMbXqalmPw6xtZyY6Uh?= =?us-ascii?Q?awCScUbthTfCNWUo53nPxz7uXcIMuiYgV7HRZqT6B8DJqw09S++n/ys7pWt5?= =?us-ascii?Q?/iwKScRRJH9VFqojSVnDoCG6UQnKqMKxD4dQWP3P8BnyNk76UA8bBUW+xZMW?= =?us-ascii?Q?9cWikQyv3TfZ0eDgAFPB3R4dy6rCBBqWBL00D0B8U0MUZNIPa9/JkzdibQDJ?= =?us-ascii?Q?v+aDk+Yq7JkFoNrceCQ3wF2uct2oR691FxGnSa3tksb5wdwmDvJPuznzj8H+?= =?us-ascii?Q?FsUhHrp5EHnROLROYkyrWmA1Nvmq56BoId7ZzH/EtdkVUh69BfGDqSN1TLGP?= =?us-ascii?Q?Yc/xdCdx1/1HxiO6u40PQPZ9907xHice1OSfCMnB92fIp+67ilQDNV5I7+K7?= =?us-ascii?Q?WxHvLHgUkGnoxwBImMH5uW12of4Mrm6q2tvRMgQ53T0N7JHLzOBiGwZxRIvQ?= =?us-ascii?Q?AEDA/hYTpSvEpmD+l0zG0ameTHzDLYoW4hgIcJospDdeRZ/ttmm7SBjyTVGB?= =?us-ascii?Q?Ca/irVwyjct8Y6hVU/BYbvVHFgH77L5OV7shHyz3mAqZhorEnIiLJ3j+uiKt?= =?us-ascii?Q?Q+UvyBPUsSPaIBZ804q7hJQklu3ynQdm+MZngVLp522/ldKWvJvDaYpVlBYw?= =?us-ascii?Q?0LnNXz3rKpC43ET8T38Fk22KKf9/txuJBHhCa6/tBcRrGj/iyhXFXZkhCccH?= =?us-ascii?Q?hw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: CTo5eyxYU6No9uxEza8MlqS+C1ZCvUJzG8C3pqXJvwC3bpmXE3v1rrGgKRn9BiOH6tA4CKEEHLxyAx7peeX6J8cFtot9rpP7zx58MaSjtqoT2TqSYFZR9kKl7m7pKSqnPkqGnxONiUAU1Oni7QJJ5IC81BJweNHaZRF21vbe32pq6ngNaB9k5kAo42IbxprdTxJLMk/zeo8Vv94G5M9EbmmapIC+XkjeReV7jWiHSjjgGA02ExXVnpGGYNUmwg+ka/BCe+s+wskMcEyKCV2cGztliCV8jXzPY4i2Q9BBpaUSsJur2hvc6OLwk/CdukEDETA3XKPD9vX9qgH3N5Sz/v+My/CcncFyfu5qKp7mcj6smXb1rwj+m3HDUvnDKWEUStJ45FQnW7PZx300oFG00i2cmd2fbtAj/WAKCPj0UZL1Kv9yCfYHkTP1yysyPb8qdpdbCRXEv/F2ijQd/vF2vjVoPRtYKHFxoIt6RLwAbqaOa+QbFeMt5eNlcN6whOxHV0Sz7cynvgPnuzTXMMSbhaFNoAZuDj2DuxZbuxrm6MsRSW3MDb/opl4mX0r7CY70TN6omG5VhpbAcsMaYLR+Mo+r2jy5UsO0NDwmTv7wAZr/GrexZjZg5ZmPYgKnoVurlqoXZebDENGBll3JjNjzjK73xt6vzvJ/NKFnCNoYgQQ1SWjiiFw2QohDbj9YYzclOzXXn4iLtqJydUK+Ud8XDEYANFWO5X4UBi+CsT1bx6qSrDXG+9IM/Igb/XrrcpjC9aEM5blfXT3jQ35LJu96cX33J4c2l80Jxh242WaUeG5ykVwmeuzEVviBIIk4FnMk0kddEBz8CmvLBpRrj2gQvhJCo6CrpL+I00+KeBdoUzsOyJ6U01QqtDGfI91vZn9L7capu8uRpzgXiZ2XKgHbhg== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3ec6d2f-a9b2-4bf3-8274-08db15fcf071 X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4196.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2023 00:20:31.5000 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: La3VezVZyU0O8UV3Yatlf1YTbHDylJXeON1afUyGFOByfYwALTufBIzZijWvzGgVtVh8JbnwY2xJ8H/xeyOtfw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4940 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-23_15,2023-02-23_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 mlxlogscore=985 bulkscore=0 suspectscore=0 mlxscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302240001 X-Proofpoint-GUID: 1eLMnqDJGlKfZWj2-nHrqSZ5x9ElDPLR X-Proofpoint-ORIG-GUID: 1eLMnqDJGlKfZWj2-nHrqSZ5x9ElDPLR X-Rspam-User: X-Rspamd-Queue-Id: 307D412000A X-Rspamd-Server: rspam01 X-Stat-Signature: 6idcsmxnx3ds4x9af5f6b54aftb9zjyc X-HE-Tag: 1677198041-207753 X-HE-Meta: U2FsdGVkX18fUcgoZ1/715F43WLGMv8pn9DafzgJV6TZzhn8cpkyFQ6xW2CxA8pChOQqj6P62J7JnIYUaXY3hMJNvpCd/kiSEdm6rV0fURvo2LZuc6Nb9X0G63a2fNbfnyBazTnXzGW63kYJPclnAkBOgIk+PXt8x2EbuBm/6qhx/QIu3/hcmESXxIPLVIAF1xdhsjuKIAVOgbHYm9EHVBOhEhEJ5CayLcJmeK/g4h5CBKpmmhszXJRCuxuTD3kDlCdjhK8oclxiPpWHYa0RePS7GflEfQuA+Caet+WXWy0CUF67AWBOA8ZTu9Njbpt53wtR7E8dBPuVvN1qJag+e72ECFjmzyl+PWn+nX9U5GWUXARTDcl//QnMZqLJeRTHGFZPVYFKuamWlDbxwhyP7LRZKjSHpKRGDM9wg33uSI9zxnCFuHrejO0/2ErzLr2D/UWgwqHqQ5FwtSBDn+uWs0hsoVLvF6Gg8XzbtiaRKPULZGxczZpJhfuCPzy/vf9idHYCEJojF5cdTVvX9+eIW2gT9DFth6X9uJ6EkuagWVsO/+k4RyxE7l0lgB2ua+M+GdhBRJ5Jg5k4Nmy0sDzsaWILf22xqJl45tCM13Fz17JE7UWSrt4zhTWfMPocPCge+3xInSNsJYL96WJVWEE7ZFb9nFBfU8oCEV9W0kEAjxNa0oqDxEtrL44DJ6UbeecZXYwbchbk4Gs22TSCzgIPJcVWPmFCqh10kW6NY8zU9DRNeRNhhTZ+K0+pa4sATdbPXJibXYNEmyq9z2vLjgFfO9L/k9juiq7txrJxADKWIbO8L0vBgaGQOQNGjV28JSQEpNEVA6LXGsxwN3Ochd0h+noD/23qY1hyyUzOL20JAW6rPNnz/a9fZzXz1LZSPlpLgJd0Cjkm8kOocT5RLGLLCQGoz2QmLTf2PtXT8BI3789FEY5WfolVG94Ji2b8/o3NtrWWFhcyHf4cmy2gNrm GOlMeSdB tbXpQuOFt94VwtMatsPKRo29rlOzLUpXmTqTQzBSG99RBgtbXJnTceL4Gl3fzI00DWDbxnYc3ucJF4g642+3HuHs4ZlYlWvI8OthQYuHaiuL6ibpQMGp6QHgn/jygGgpQPnhp5Tgb6boyJhae2vxrkYKmvquBF1PVAIvsBzdJzxSBSqO+n9RlpPh+fZaXqaxVI/ctmFVw2w0fq/Q9D+fsoMJT4rqyH7VhLRS9K9NplKz/Ihx69Y45IevoDlE4ehfbZtyPtiM/KDYZbEizZjuMosAC7JYsDkMQ8aqRZkvsnCotHxfrvFTCIJ85Z2DUxxvCcKJBi3X++Z6OSqcuSt9cIitIhoO0s5XcxkOYwoVdgu8jlQaWFmrMpCbAdSHPLv8nbrrGtJR9Up2Hbc+w9bUwJ/jlgs18Pz0Cm8G9hMkx6EMnK3o= 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 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? 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. > > + 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); > > + if (vma->vm_flags & VM_LOCKED) > > + mlock_drain_local(); Since hugetlb pages are always memory resident, I do not think the above is necessary. > > + folio_put(folio); > > + > > +out: > > + return ret; > > +} -- Mike Kravetz