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 6BE2EC76195 for ; Wed, 22 Mar 2023 07:15:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D19F06B0075; Wed, 22 Mar 2023 03:15:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CA374900002; Wed, 22 Mar 2023 03:15:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B016C6B007B; Wed, 22 Mar 2023 03:15:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 994E56B0075 for ; Wed, 22 Mar 2023 03:15:05 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 4F33BA0338 for ; Wed, 22 Mar 2023 07:15:05 +0000 (UTC) X-FDA: 80595672570.07.3A741A0 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf05.hostedemail.com (Postfix) with ESMTP id 67901100005 for ; Wed, 22 Mar 2023 07:15:01 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=G2tu82dj; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf05.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.43 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; 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=1679469301; 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=3Ci2yG1lLj0IZ/gIjgMqp1JBN2RsdnvBFYBJdI4j5hI=; b=NHEQ4sfP/08t9UJLuVBoUScmuy36S3t9PTUdm6LoYUMSkPgHYC/rXN0TEbfGU3GLSynbVR b2JLDFPHWmILtXUxR1Ca23uE/y/indB62D4cmJe81NWFXPrjTk4KJ0+3w6VMDfY8B4aumB Vcw8rkJ7vtrtj33vB5SLSjaKyp+kIOI= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=G2tu82dj; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf05.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.43 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1679469301; a=rsa-sha256; cv=fail; b=rMASJZtYjatA7YdDNt0k14dLhndw+bzwWJnXR0Rn/4JceGwChX/u6l8jkkvLxamWBTcii/ Iz7bmtzXLHwLSd+NnwCismHP8pYne6s3eqelALLNCCLlBGckhCOLbSKkOizftrKvCmYfSv sg0VetQmn75orWUlMZrxa5tEiUw18XM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679469301; x=1711005301; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=pxapJbmQF4ba+cdJWa4h6iDjTaZMm0ZQe5TcWpPfAfg=; b=G2tu82djxaF5WiM5lmXloShot1ModZPagmKDl+qWizqKMTFua+Ea7VmD tw1V59uvX9xDKm8V3PJjRshn1cA0v7KQurwDsa4pzfiTqcgXg1QRMQ1Gp nGBUI408p0VUx8zHXg9nYHLBM9XVKBCChfOf3ns/a3RRnf38cnnT9e1/B MLR0p57ZLFe4NdPaRIWg9/tqTUZXlO4C3+2EdeGlmmBO9YgndFA2suFQN T9VWm6hlEZxBN6fO2yTszCogj/LjxXj1KX1LF4104ipi+jLDCg5cLS5aQ Gi95HkQf+T+v66NJGPPcpMUmqp19UAqxAgtXOe91c+oiyMo91EliPa3vF w==; X-IronPort-AV: E=McAfee;i="6600,9927,10656"; a="425431130" X-IronPort-AV: E=Sophos;i="5.98,281,1673942400"; d="scan'208";a="425431130" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Mar 2023 00:14:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10656"; a="712123250" X-IronPort-AV: E=Sophos;i="5.98,281,1673942400"; d="scan'208";a="712123250" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga008.jf.intel.com with ESMTP; 22 Mar 2023 00:14:49 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 22 Mar 2023 00:14:48 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.21; Wed, 22 Mar 2023 00:14:48 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Wed, 22 Mar 2023 00:14:48 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.109) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Wed, 22 Mar 2023 00:14:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OYX659wvk88c1BXPR6zhXsS95GNlGjJabQqnp//59bHnajLtu+rttfWSNerl6rmYg7OxtSL8LybLuwY1MxBtbl2qiMRuZrk7LW3ugWEx3Ww/9lgk9G/gdhF3K4uX8FbMTL7/vYB0prTotL39DqwQRDbBbU7a03Q9vJLj6oXDdAHLSm8bVyKcERUNuhAPpt+AsunQs84pI48ZgJ/vF3nc9NPrX/TQocausiEwU7HSiJH7zvgocxKyVX4n9AyxiZu3kQaw9HGwrg62MumALlGIVnQfdn3rNjODIIW5WUhII9E/XzZMaGU5qUBYPDFi6nIgNZkstP/lnmKec3BHrenh/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=3Ci2yG1lLj0IZ/gIjgMqp1JBN2RsdnvBFYBJdI4j5hI=; b=RsQ3DzD1zp1Fgq6s5QcyHS+HMmY4G435/2TqB63NObVXCVKO570LE10jyeeliItMRd98+Dk3wIeZshX9mzG6WqjTne00T70GR23O2BFJASfb5YC00iP0mO9mN37hjr20mTTwuy0axn+i8u6xGcUsjW6OvxguhrK1XUriPopYv55upNUFrSCWttlIkAbByL3QvdsbUVBC158DA/hRmg6RxV7Oo0nF8ZMyg999FXKNZ+8vQNTPvI/EOHm4h31w47JY2WVLmcRd4kxmW1Qeec+eacklG72hrFzqLjXmFQca9OY6/2EB5yG2SZYgY8YIOHRixQugtvy6X57Oc8HK9XOHWg== 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 SJ2PR11MB7646.namprd11.prod.outlook.com (2603:10b6:a03:4c3::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar 2023 07:14:46 +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.6178.037; Wed, 22 Mar 2023 07:14:46 +0000 Message-ID: <2cab90ef-96e1-98ed-51c4-ce744d2e0ca0@intel.com> Date: Wed, 22 Mar 2023 15:10:42 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [RFC PATCH 4/6] mm: Implement folio_add_new_anon_rmap_range() Content-Language: en-US To: Ryan Roberts , Andrew Morton , "Matthew Wilcox (Oracle)" , Yu Zhao CC: , References: <20230317105802.2634004-1-ryan.roberts@arm.com> <20230317105802.2634004-5-ryan.roberts@arm.com> From: Yin Fengwei In-Reply-To: <20230317105802.2634004-5-ryan.roberts@arm.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2PR01CA0170.apcprd01.prod.exchangelabs.com (2603:1096:4:28::26) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|SJ2PR11MB7646:EE_ X-MS-Office365-Filtering-Correlation-Id: 965eb042-340d-43b4-224d-08db2aa51d9a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0KhSyI40Hsrvh1lDEm/NkYpcp88kAVgV6UPEd7gMSUtwfXwV3A++n86Ape9Q2Larqw0m5BqpssJN2sYS0J3J72rDPmxrk9kIQWfFET7jm6o7UvMmOAffR97Zyx9QvCnLQXDE9hSakw7KeXI0rutcsI4GIJghwhNY2mYlggDxhasSCEs94lIQhmaRBtn8UeWTCbbM33Kr6Qe/9hyiHp9SPab7ulsP7Ax3hCELPadt7AaCvtoEOUi5uQHI3+L+nD2ervcn8OKw0+zxMz8OFc2uhg0utqPkM6QFwz39WtN2d+ATSlUtXrDJU2LQIJmgtR4h5RUy2G7BjQO9R/gR7DVm+gShrFhhrQ2kAsLlccuz28Nd1UlsSlSxaRREk/dAyzlUuSc6ERwVYIxKm+wQMQmAM8wQ/L53cIBhpbJCOS6SviqYOGiJktwJQ5zCKrmCbFHqZiyX3RXZmg3igpTC45cNN8wAEQWt3g2Tifr3ayuB6vK0WHOhMN28bN2rFbsVFM6M0AWtua2cBJ2Dp1TR4/PXKvbWqKCkS36UVIQOEAkrzpUwi0hnJl83RUm2QWLj3EspFbejTyU9ol0WaWtB4nSDJZDxN2EF66phcsbNcgm4ZEkqKTJUPaFVt2Wj5pVwcb8DrsFG76rW3YlTiwQNN4RUECLY1MERKI6IfWxdP3ZbjN1+MKkM5G7+dQdY605oZ0nCq/6Xq6oiPwJS/dWfyMsGTZILXlpmg3WEjPDAVih6UzI= 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)(366004)(346002)(136003)(396003)(376002)(39860400002)(451199018)(31686004)(2616005)(83380400001)(6512007)(316002)(6506007)(26005)(186003)(6666004)(110136005)(53546011)(478600001)(66556008)(6486002)(86362001)(31696002)(38100700002)(66946007)(2906002)(5660300002)(4326008)(8936002)(36756003)(41300700001)(82960400001)(8676002)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ejNNVjdPNkxTK2xFL3RwUmc5STNRbkJvOWtTNjlxTzJUN3hrQWRsc0VPemYz?= =?utf-8?B?VGFnZGtQSjhNT0NERDNXQ0hYY2tUeTFrc3pZOHRJYXo0Z2ovZHQvb2VtTW14?= =?utf-8?B?aWVJeFhYWHZ6R1R0Vi8zMDVhTkRlZWx0ZlpIbFpNWlNXbmZjWFI5TEMzS0N3?= =?utf-8?B?YVZERit0QzlLc2hRa2NRSnp2WnZldnRENzJVaXN3ZGFyYkVUajBqNFRSQWxq?= =?utf-8?B?TGZWNHZVRUdEcXlRRnBrWW94NDJsMjFPRnVXejdaWkVmRVBuSnpEWlkvVFcv?= =?utf-8?B?T04rdUxSelNLaG44RE0yK3phZHQxR3plR3dPRXZ4YUt6Y2FZUWU5d3hkYzFI?= =?utf-8?B?TVlMekVsU2hNeU91MlBMQytuOG5SaXVyUDFHZzZMSTNSTVdjOWt1SWIrbk8v?= =?utf-8?B?L0lRUXQxZ2ljTjg0TE5HbUhWWUVTRERROFhVTVVjOGtyVjJVdW5oY2UvUzlB?= =?utf-8?B?RUd0cjg2RS9hWTZsNGJ0cUJ4QlRxUGZieWdTc1FZNXlxZ3o5YmtxMm8rckhT?= =?utf-8?B?L01nTHF0RnVjMk9JZG9wb1lvSUZHems0SHJTcFpkWGZOVlR2enpnbHJlM3Z3?= =?utf-8?B?U2xseWk2bGlhNjJwb0M2V3BDemM1ZkZOM04zZmQvMU85UUhjcG1PaFRhUDhZ?= =?utf-8?B?b0NpNWM0L29YQ0VXUGVaMktyYWNBQklNVFJKYUQwUW9WR21tV1ZYYXRoVGlK?= =?utf-8?B?ZnRWRW9KcHBkU3daY3ZxY3BuQmcxdjZEQ0ZpaXkyK3BhNTIrUTVuMVoxeTZh?= =?utf-8?B?ZTFDUGNKdXRxTHhJUzhOdjBMUHdKdHpIUWthWW5QUHkzVFdEdU9LYkZoekxn?= =?utf-8?B?NzZsWVUxTXQ4aTN3TWJMOW1ZdHc2ek9SdStoQ3k3YytPeEhkcUg1WXdRbml0?= =?utf-8?B?MjJCdm9KZ1cxQTBsdWxSTjJydHpIZ21QK3pyT0R6Uy82ZlFEQXhzcU4xeGZJ?= =?utf-8?B?YjJoNjlFalMySE9reW40ZU1wdjZVTVAwY1FlSzF0eTJOYW9CT0pTSGxuZ1ph?= =?utf-8?B?YllwNE9tRjkvWHNGWkE3ek1hcUtzN1BPVzdEdFp6cXdxVVFqT0dicFZkS3BM?= =?utf-8?B?M0N2UEcrVlJPNTNWT0VjR0JLYVZvMEFMaTFIOERrYlJLeThaQlBtVkNQdGsr?= =?utf-8?B?RjFhalZWUG5iOVlRMXF1ZXRyYkl3Nm1zQkUrL2hOQk5hR2pWamd2c3pYalIy?= =?utf-8?B?VXZGc25RU0Q2emx4YkFSVkpGWXBsTklkcWQyL2hBa1FFMWNFL2pxdUY4NDZG?= =?utf-8?B?NW1DR3FCeCtvemNJNUhkYkVaQldYU3Babm00ajJzaGNmUm04M3BWZU5leGti?= =?utf-8?B?dG8vOFlpNTZRK3ZVYzdLZHprUFQ1Nmh2S2YwWXpDNCtNcUg3S3pXOTgrSTJ6?= =?utf-8?B?ZEx6NGRyWExFSVVLZCs2WTQ1Z21yTjd2Si83M1ZDU3RpMkhEZlhJdnd2M1pa?= =?utf-8?B?S2taVmRBeGdKNi9YVnRtWXI0QjdnMmVkWVN0NTBXU2pISmpUQzd2T2VOekts?= =?utf-8?B?RXdsWHhLT2tSUDZWOEwyRGoyaStQTXNERWk0Z3V1WnJnVmU5ZGlGN2xBTnJn?= =?utf-8?B?QlRvY2ZzY0ZmV0FDN25scnVFRCsxZ2FEOW1aOE1qUzlTM2I1ZXRMRERGbjJa?= =?utf-8?B?VTBFUkRoTTZ2c3JRZnYxaGtaZHFHVUV2REpuRU9NR1pORXZmbzU5TEZ2U1pG?= =?utf-8?B?YzBWUlFZU2RtUmpxbU9POVN2b1J4aTBqeGtwcXhHdUVwUjBVYkdpazRaNWd0?= =?utf-8?B?dENlbmRSaUFqVHFyTGNpcUlOa2FDUHJ3L2UzcEIrejQ3cXdZbnNIemc3SWJV?= =?utf-8?B?NnRBUE1wRWE4OVR4VlpQN2twaGFwdlVTYmlEQ1R0eFF5NmtCRUoyM2lBamtD?= =?utf-8?B?WkY1MXhaaEc4SC82dTB4enMrSEM0YTliVlI4d1dabGhqMXlqUmVOOTF2ZEpS?= =?utf-8?B?VFJCeG9VcEhKQUc4N0Zpd0lxZ2w4RFdSZVpjS3M3MG1CTmpocnJLVmZDZzFW?= =?utf-8?B?OXNDaUp6Y3BrRDhaWEV0bEg5ai9keHplZXhubW02V0pTWXBpdmVnUG5neGFn?= =?utf-8?B?YVpNVTIyQml4blVRdmdzejlGekVScDh5UTBCMHMyYkVVUy8yeU5oT0t6ZVZm?= =?utf-8?B?RDh0YzZudmZZalY5TnBacG5hK3U3NC9ITkhmWTYxc0c4RkpPWXl0WUw5ZWda?= =?utf-8?B?RFE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 965eb042-340d-43b4-224d-08db2aa51d9a X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 07:14:46.1105 (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: WZvqABYNj4NozeO/P0Dn+DXjaYOPhS3OZE9pOAsSI7pM+kZTiqHf2FfS1mgbm8Fs0NWnRGNCYJVWT/kl4OSBIw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB7646 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 67901100005 X-Stat-Signature: j8mk3zgb4ww6ygsi5nr4pozwpdhzawbe X-Rspam-User: X-HE-Tag: 1679469301-999263 X-HE-Meta: U2FsdGVkX1/uNs1z2nCz7iRUjr0drlJihsFUuL12g8INz2TdltqFYKFjBP06IUPtcoi18DdZrLzaLuxJuQmFDgPzNa/AScGKo6+OQSlaxeCs5131ssVywfVKKwm3Oo3THhO1THqgK48KTI6NrKpjYuiRlcBVGWwc8tivJvuiP1VIQMyob3FzfMFFDKa7akw91cgowBEeeeALcCcgT++fyerTVY79YKS7ICT+GdQpva1rBpydmL/2yk3nMJU6lUusAJHsjMyeuDsUE+o9QqrbNRVBSOzyIySMptvVvRyHO2Knork6WQ3nWVm64FFyCdBIdHgWCqUUJyrzOKVsV5c1li/CyoY7g0P9rCQ+yK7eVTB+Xo82r+H9TAbxW6Mx4aCXbT1n5B4CdJfO6Gbi0ysFy1IRKRdzh6GHzY6+2WA0Wqak2TBmwgp43ODMe3lD7PNCboG5EL2hCxeIIDvouO5icq8xNmP9DB42VhNLtvpnXIgquC++HZ3Xj8QDUqI4kjaI67FaQos5ln5SnX2SVvnUlLxcrGnd/AOLll1ch67hVd1n1zXFpHp4S7WE0dCdHE55E/2bsq8w03DTaRyzFfTBHNyKK8ORHHARQQch8FY+vEeu2lFdr2yQtqep/U2XU/gN/6sM42uLA6EeoXp4lhjsgrs+m5bF+3WWq3Cr1OKlbtqIXbQFJnS05tzOtzaeWI4dnROO8AcHUqAwkH0xXJqPMnmtbC/AjZdLIIXEiUoxgbfmx2I25BnQ+fQHIVvxZKURTyFNVX78xBzpJYYmqxHzyHmtdl8ThfamfRQyO3Wp0p6pOzLbVuL3WmJmwhC7NrabLCfR3AYlul86ldSxwuYkzXjw8k1JjUx80gD7i/BF8R1bRW2ZWcktKpIKWode+f56hS7+31SyRAMArTjcOhLDbsMMFKxYNSccXvI6UKjjiPPsM6lKbb1h+GbNHYQO9SdOdEva3KUZHaxRioeGyBz 7rAtpcx1 iuxpxBJw/mUG3+mj77vLC8KrH+WrX0ZB+PswlESFTvure1Id9xWU41BopUAflHjLVDZ/Lj4WvO6cu1rvjN1znH3ZhuhfyO8Z78guutbGs7bgECV1Ea/X0Wtq7Y70UvegWWsqMpNDKuj05uru5krRSNSwWbk2gA90Eb+v0i/Pqgctm7ff0ZkwaLg5IwGGIpsdplntYscat4LI2yR5RrI3BbibGxXe59Htn8Tp4GHDtu0OqE1ATduzNouSgkAztpnpg5u8y4jMtjs2ZNiIfTvFM+gUshDVC+nnSFNNFJoTt8MR8rEMm90MnmdUvUbfdyp8+2H+Ogu4d/jUQSpOZiCSKklFK+bSVZAdfOfo675+CbTACqxpONzdQBKqzEGDdGoMb7avNFsj4VAYh3g7Rw6kYbpPk1w== 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 3/17/23 18:58, Ryan Roberts wrote: > Like folio_add_new_anon_rmap() but batch-rmaps all the pages belonging > to a folio, for effciency savings. > > Signed-off-by: Ryan Roberts > --- > include/linux/rmap.h | 2 ++ > mm/rmap.c | 43 +++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 45 insertions(+) > > diff --git a/include/linux/rmap.h b/include/linux/rmap.h > index b87d01660412..d1d731650ce8 100644 > --- a/include/linux/rmap.h > +++ b/include/linux/rmap.h > @@ -196,6 +196,8 @@ void page_add_new_anon_rmap(struct page *, struct vm_area_struct *, > unsigned long address); > void folio_add_new_anon_rmap(struct folio *, struct vm_area_struct *, > unsigned long address); > +void folio_add_new_anon_rmap_range(struct folio *folio, > + struct vm_area_struct *vma, unsigned long address); > void page_add_file_rmap(struct page *, struct vm_area_struct *, > bool compound); > void page_remove_rmap(struct page *, struct vm_area_struct *, > diff --git a/mm/rmap.c b/mm/rmap.c > index 8632e02661ac..05a0c0a700e7 100644 > --- a/mm/rmap.c > +++ b/mm/rmap.c > @@ -1302,6 +1302,49 @@ void folio_add_new_anon_rmap(struct folio *folio, struct vm_area_struct *vma, > __page_set_anon_rmap(folio, &folio->page, vma, address, 1); > } > > +/** > + * folio_add_new_anon_rmap_range - Add mapping to a new anonymous potentially > + * large but definitely non-THP folio. > + * @folio: The folio to add the mapping to. > + * @vma: the vm area in which the mapping is added > + * @address: the user virtual address of the first page in the folio > + * > + * Like folio_add_new_anon_rmap() but must only be called for new *non-THP* > + * folios. Like folio_add_new_anon_rmap(), the inc-and-test is bypassed and the > + * folio does not have to be locked. All pages in the folio are individually > + * accounted. > + * > + * As the folio is new, it's assumed to be mapped exclusively by a single > + * process. > + */ > +void folio_add_new_anon_rmap_range(struct folio *folio, > + struct vm_area_struct *vma, unsigned long address) > +{ > + int i; > + int nr = folio_nr_pages(folio); > + struct page *page = &folio->page; > + > + VM_BUG_ON_VMA(address < vma->vm_start || > + address + (nr << PAGE_SHIFT) > vma->vm_end, vma); > + __folio_set_swapbacked(folio); > + > + if (folio_test_large(folio)) { > + /* increment count (starts at 0) */ > + atomic_set(&folio->_nr_pages_mapped, nr); > + } > + > + for (i = 0; i < nr; i++) { > + /* increment count (starts at -1) */ > + atomic_set(&page->_mapcount, 0); > + __page_set_anon_rmap(folio, page, vma, address, 1); My bad. You did call it here. Regards Yin, Fengwei > + page++; > + address += PAGE_SIZE; > + } > + > + __lruvec_stat_mod_folio(folio, NR_ANON_MAPPED, nr); > + > +} > + > /** > * page_add_file_rmap - add pte mapping to a file page > * @page: the page to add the mapping to > -- > 2.25.1 >