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 E89AAC636D4 for ; Wed, 1 Feb 2023 10:05:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6F3E26B0071; Wed, 1 Feb 2023 05:05:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6A2346B0072; Wed, 1 Feb 2023 05:05:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4F75F6B0074; Wed, 1 Feb 2023 05:05:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 4000C6B0071 for ; Wed, 1 Feb 2023 05:05:01 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 15E4180D5F for ; Wed, 1 Feb 2023 10:05:01 +0000 (UTC) X-FDA: 80418289602.16.FF22F66 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by imf18.hostedemail.com (Postfix) with ESMTP id DF80C1C0014 for ; Wed, 1 Feb 2023 10:04:56 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=RTVdGen6; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf18.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.151 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=1675245897; 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=pgQi7VdD0bxPD7Kuw1xFLYCqXiwfCJHx7iDuP+sDddo=; b=vCwu0S8a3zr1NxR+2Icz3fGP+SPnsn6Q1ggjTSLS5MhyvmGwInAbBHnxgEaSvFNgzvDJ02 kS1LfJm1fsegBd4ZFousyVfT31Ka1ux0Aid2tROqw3ByEoXTE47kbTQLnrPh9cE5S9Aeal AW372YmTNpx6Qt1bRQGrj4kNqLfK+dY= ARC-Authentication-Results: i=2; imf18.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=RTVdGen6; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf18.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.151 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=1675245897; a=rsa-sha256; cv=fail; b=RHcEeZx1fagze0jTuzx8gx1DLhIphPuUbW6mTIKEwKumbhBfQUTRXADU28VW091te02rXg NmO1Sp7qdshxHyRV6MjEqcEHqTLOTLv/vCr6xEgRABjwy2zcDI8DfIPXy8c82fdHjGTxa8 UutxbGIf0NyxodPkpML6CokBCFUB/vw= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675245897; x=1706781897; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=1UAYuWboo8YQg3C2gpfivUdd5urPiHXPa1JsiyIj7jE=; b=RTVdGen6tbguwk/k6CEWa2o7NsBwVmQ1DvoSmeN8yPwVU6TFlvgakise Z6vS4tyr/Wyaw5uhDdkjex/0vgpRj5iUb0LIb0ZrWWgJ9Cr3Y2qVlWDnn 2CPQImkC22Rv/Z/JQO86UMmJaGDJM6uALin+NNdye3mxyxcubbgBaZy0q eIBeKpoJpDLU9YsgcceactHOgjs3BfPFVGmyUIs+A3M4qnuk1p+8oXtyq 7AiVJIgDrAJcWnTOU6xqWsLqb/DxcFxJqIVnbrKJPCQtKU0tIARy95Byc rhjJZP4imb9wj+sURaiC3S1JfoZDf/fWFqRbdjmgIwEcigEm2AxaFUVi7 w==; X-IronPort-AV: E=McAfee;i="6500,9779,10607"; a="308446776" X-IronPort-AV: E=Sophos;i="5.97,263,1669104000"; d="scan'208";a="308446776" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Feb 2023 02:04:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10607"; a="664839098" X-IronPort-AV: E=Sophos;i="5.97,263,1669104000"; d="scan'208";a="664839098" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga002.jf.intel.com with ESMTP; 01 Feb 2023 02:04:48 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.16; Wed, 1 Feb 2023 02:04:48 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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.16 via Frontend Transport; Wed, 1 Feb 2023 02:04:48 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.104) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Wed, 1 Feb 2023 02:04:48 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lqPBuoe1CrD3YuZ0LmdpGpXDHMpWFYU3bl3PNkwaoaLkGw4ty80uwyo1oNUE/Gy/Ybr4TyNNJUSSwM4eq+GO9tUWHpYeWWRub/cHAGp//KymfD1Lii7+sPZ5D5qJhkI4qnedbPCYyJlyrtUjwoY32v59vajyITHlGMDX1mF29j+6ni0YquTeq7gNIYVQ0f8rE9ffJ4h4g1gPtULtM4Q4LYLHYuL9NkUotbmunl0/hXLkX0QoSVjmV5zg7YMNa96p3HHdlhAcqSrTSey9s1TnmhJ7JyIjZMpXk86jyEKv71tR4qRWJ9V8chZFCtiyp5EoPTzU7/wvj5ZcePdXkJgHDw== 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=pgQi7VdD0bxPD7Kuw1xFLYCqXiwfCJHx7iDuP+sDddo=; b=d3msOcpWwg78xBDmyeqs4tZv138ux1fpDGE2WRn19tXOOQ2MkxwueNUxaF0dsPDkwy2fpWBAIKMol7lMME6EJOabeTbTH/BxdutFNOkTJN22hzPIEdRV9huFj5/wdq+8JS1wVRk1fBfvlvvtm4WHKNPDZ1TcPyOGaSo5bngH8lYWNEJImBYbzogtFv0IKEiXN+slnl8rBNeLglPt12Dz5glng87urjYmrx4ymTLm+m4giT5pPQaEOjnPRV9HDhhTmwcqOv19E5WWtHSIal6K++RqNJ24x0YjKk1/Ry3RF+FzLvpUV6sBpVFUZ7U5XmTmeO3e3myJh2z2pqM96+VX2w== 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 PH7PR11MB6356.namprd11.prod.outlook.com (2603:10b6:510:1fc::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.36; Wed, 1 Feb 2023 10:04:45 +0000 Received: from CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::1531:707:dec4:68b4]) by CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::1531:707:dec4:68b4%4]) with mapi id 15.20.6043.039; Wed, 1 Feb 2023 10:04:45 +0000 Message-ID: <62c0f97d-5cbf-4d7c-cfa0-85e2c3e2f1f7@intel.com> Date: Wed, 1 Feb 2023 18:04:36 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.6.1 Subject: Re: [RFC PATCH v2 4/5] mm: add do_set_pte_range() To: David Hildenbrand , , CC: , , References: <20230201081737.2330141-1-fengwei.yin@intel.com> <20230201081737.2330141-5-fengwei.yin@intel.com> <9e304ddf-29f7-1260-f585-bbcaf9575f6a@redhat.com> Content-Language: en-US From: "Yin, Fengwei" In-Reply-To: <9e304ddf-29f7-1260-f585-bbcaf9575f6a@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SG2PR01CA0110.apcprd01.prod.exchangelabs.com (2603:1096:4:40::14) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|PH7PR11MB6356:EE_ X-MS-Office365-Filtering-Correlation-Id: 51f9b9eb-3764-4026-8681-08db043bbea2 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: HqcyJsf3kymq7Q3RsMtR6CL2EZHqtqpZITQ7vfkKwzUYR3Dlw1jnwPgBySPg2Vz1YdQdffCo7Kj/p/Y0Cn47qMVoHALrALzMCZevjg8OfbSoQzOdKGbXYid94vexCOrrBg3fUBVMdjTaI+CXfa/yQ/Bv3LIMZdUzc7PXeR51hjR0ttEEL6kUpI4rjliVX8zOuJxjO4OaabTkf62lVlvgi2fjkqux9C6TaZg+3o2Ta2qd7CF5WlZht9Ruui5vJEoMAElWn4Bsk4DvopSXC/0u03pyFKwac9A6CfM7fx72voMj54rKy03ov64ETRYMnS0S8ZoXHOCc+Yi3r0C+eerGpiM8jJHCbH6E3JdnN+BbrQY/ca/n0uWgnS7e0Yu9Y5H6LOicOgg0ZTSS3LxZE2LBbwYmd1Mqn+hs0cdzRbCuhLgpC6HCyQlrz3gUraYLK2yeSQQNgSHshsdmOwodLyXQLcV2ITlb4TscpbtQLiwtpD6n9+g1gQjwVlKX7cZ2R0tSBTt/M/q3uWUsIrkG3YBhQJ9J9YV9E9HgWafgpQjt7nthNBNYwZU7VlKJZiKSvqXBW8DXD104o1goxC8xk34BSLiib4qlRwPEsBcyPDYA5aYFJL60kJZodL08JaD5qe73QzYs1zyVcmHAAEvWKdQc1+eevOgWHno51gBtNmnFyOPcm+yyw/RFrMFlwxhX0HLmW6bwmvCsIw8fsUMT/PKkU1A58llXOtmr065nW85jX8c= 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)(136003)(346002)(376002)(366004)(396003)(39860400002)(451199018)(53546011)(316002)(8936002)(6506007)(6666004)(107886003)(86362001)(478600001)(26005)(6486002)(31696002)(2616005)(82960400001)(186003)(38100700002)(6512007)(36756003)(2906002)(5660300002)(4326008)(8676002)(66899018)(31686004)(66946007)(66556008)(66476007)(41300700001)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RnFzck1MYUIvR3QzSGtpY0pleEZoa0NmR2VBUVFKb21ZTFBUMlZVVkY0TjFL?= =?utf-8?B?NDhCcUJiVXZWR3Y4T0tiWUJGaEI5cFg3MGppZ2VDc2lPRWRuczlCbW1yVFli?= =?utf-8?B?VVQ3a0NiZlA1c2l0eURlWE10czdUcmF1UENIc0UxQ0R1Mk9SNCtqUktsb3NO?= =?utf-8?B?UGRrRUJHaiszUjNXcEM4c0JISnlMWjhMTkk1QWFlRlB2N0lJc1hJcEhUVkVU?= =?utf-8?B?cWs0VFhtV2R3TURxZzl6Y1BXckJTei9LZW00U3F4d2NDRk1WaHo4TVNzMXNT?= =?utf-8?B?Nk1heXJmaVQxZU1iNWtIdzc3a3N2UGlHeEVpMWE3ZUpaVFlsek1zM1o2RDdJ?= =?utf-8?B?QjYwS3VPbWFmeVZTMmltUmhPTW4wMlhoSUp4NzMvVHB0VXJDc1ZBTGVMQ1Jv?= =?utf-8?B?aFhvN0Q2bDYrdi92cFBLYXV1UkxZc1h0WU80N0VscFNKRkdnZlNPZGVlanN3?= =?utf-8?B?cTl2YlE3T3JwLzFZR0sreVFnK3h4ZEtrcElaTFZIWVNaTysvQWplNnBMOW1P?= =?utf-8?B?L0k2UnV4NFdiSkV0T1B0a0Nud1VSeHdwbzhpclBBUmxJc1BPSFRWdzdOaTJx?= =?utf-8?B?UTcrTDA4aWk4U3ZlUTY2Q0h5KzdveFhLamNWVmhROUNPZXl2djdIaTF3dzBo?= =?utf-8?B?Nyt3endZbzZXcU1UdkhlcjRFMHloSmFxT2RFVkVqdTZhM1VnaURBeDNjaWhh?= =?utf-8?B?R3lLS3c1aUNYRVBRNW5Dbnp0MUlyT3FyUjd1VmNJRGdyVjl5bGtOTzRyQ3BJ?= =?utf-8?B?ODV5MlFjRzN0WWwxM0ZRSFBTTlJNajlrcEpLZ0lzMUtpT3d2b2FqdWdVL243?= =?utf-8?B?MXQ0VUVOTk44RXFldmlvelkydDVSY0FVWnFJVmtnUENGVDBXM3ZWMm9mTURV?= =?utf-8?B?cC83b0FYeUJBckd1cWZ5L0FjdFBjczlhZ1pEcUpDeElxSXc2VHlySDJ4WFNs?= =?utf-8?B?Tnp2VkphTFRyWW9TNk1OTUhGM1dSa2xPR3JOU3lURC9Jb1RhSHNtM0o3UXor?= =?utf-8?B?T2ozQjdsT0VLN2JCT1ZiWlpBTjUzRXk0aG54enQ0WWR4M015dk5tVExJMnJG?= =?utf-8?B?RXlva1lnV29HTnQyQjhQZFY1Q3lRbFZsakR5SkJPMFZuWTN6OXRtWHgyVVJz?= =?utf-8?B?dXVsT25Wc1F6QnZLbVFVNjdhbGJtRjU3bTUvN2Y1Ly94UExnQ3VjZjZIN0FW?= =?utf-8?B?VHY5cDZ6RHFqeFdPbjVSWUJhV083enRmZ2lBblJUODJsMVhBbitOWTVGVExp?= =?utf-8?B?V0t3YW41M0VtV3R1czlYWWVtNFJQN1dDVzBiTS9neEM0NVNTWC91Q1RIWE5F?= =?utf-8?B?Lyt2djVwMFE4MXBXclUzQWRpTTVhenpCUmowUFcxMnN6YlV1YlpWR09PVm5z?= =?utf-8?B?Z2Z0bDMrTi8yeEN3dytYU3FiYU1ka0lIUWRiUTFhYVFpS3dYQkhWYUk0a0dB?= =?utf-8?B?Z2ZVc2xETlRRaU1EQ1c5ZXpocm1sTXMyckdTTW5nRmZZazF2SVJwb2VKR2Jq?= =?utf-8?B?MUM3dmhjWk5xZ0lJV1pmUVR4Wks4ZHY0Nm1KdEp0Z291Si9HU21DYjY2ZFE0?= =?utf-8?B?OFU5dlE1RVVYTXNvMWs5NThrTDhWbXFid2YzOTI5WnpqNWJNK0diNjZROGFN?= =?utf-8?B?ZXFVUGU1Uk9aYlJNR2JRYnlJUTdiQ0R5WjJyTVJEZmc2MEZwR215Wml2Vmht?= =?utf-8?B?MkgzQ3NuMHpwUUh3WGlrc0lRYVJIWkd3V1QyMjBoOHhsT29nQk9tUHdvYzd5?= =?utf-8?B?RUJaKzA0SnJtNXcvRUpUTnVKSXg1TUtNY042N1Q2bUdkVG5PelY1ZTRtVlk3?= =?utf-8?B?cjJjeExMUTJ6N3oxSk9qYkVBZ2pQdHFPeWtDRFp3OTB4OTFIQXF2Y09qdEk5?= =?utf-8?B?ekVIYjNHd2FSZnpRYVhzcGViU3d0aGtTYmo5dFEzSmFvU2ZOT2UzakZsRlpw?= =?utf-8?B?ZDdZT0c1WDZzQjZHa29nNnYzektkNDVGY0JTYk8xWm1YeGh0RFo3RjRIOWFy?= =?utf-8?B?cjlQZ2N0TTJPQnUyZXczbWxPVmJ2SElMQU16S1FpbTh1UG5JMnlxZHdYUnJs?= =?utf-8?B?K3VwNno5UWNMa2E3UXJKaCs4amdtREpNVmJRcEROeDc0Y3h5V0pwQ2kvclF1?= =?utf-8?Q?1E0XgX/9sQkOSqph+InXLcmxK?= X-MS-Exchange-CrossTenant-Network-Message-Id: 51f9b9eb-3764-4026-8681-08db043bbea2 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2023 10:04:45.4241 (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: fFPyG9RC7FimJbZOebkpuR+27aiif0ydb+dK4dxlpFPw8FgRJPpVsFYStgQi9HMbK0yCy3HEaJ5auuskkMxDow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6356 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: koabcor7whgresfrtif8xyigasgorwd8 X-Rspamd-Queue-Id: DF80C1C0014 X-HE-Tag: 1675245896-114590 X-HE-Meta: U2FsdGVkX1+Sd5hofdZ24PpkrZN7Te13P5v4pd27KRZPbW2sNeZN1sqORylLbAyAY+ueTAS986oRX9w2NWvshOWZTMv7BJlRB5CbDRKBtJJboNWedTk316CDJB0cwqcqfmQSfriCT++semqgbE0D0+Ry7vt7P2dtJeIZ7XvP2T8D5iZ2PO9ilvp8FalPQxpPqUo1zgnBiJoI7ucD4vk9yBdpDkn88jGijcm7S1L3/FMvooBOa/l8TW6Ag9BAfamoWXZ5XZGpQzhvWEbXx5PDTP0yrl2HbY56Xz2qJQ9jm0jZpqvmGA74y0NI2pFiCw60MaHjtpMy75KB0GI7mC40BPz0JlZbDS6G4YhNKeDt1CRuQydS8M2WS0J3/+mU662zhq+AvaP409BtVVkgdO5tx3nKySnBKGgCU48ws4D7xU5EtnlAdk6BJFZ0j/E0BzsCNFvScF8uhFGr1+/ww0UoDSuK1XgHJP188h3OgJxZt1pNve4xIn0EwFvndwPdJOyY8uU3czP2y2ADDpmbe/qalHCcAxxP4/gC6VxNgrFbwd0o5B/mbvrDIq/cHYROQ7Rq6ETaKqb904Kq1fc5MMm2IWEkYuxa3UmYMyKsX6fK4UaHo7lI/w3MNAYF6x9foD9jjISPpsSg2lw4CO+a587xRrMCC3tVOZ1Qu8Ndsivt4dJ0cRSJDqR/OuD2oJOcrHYOh0PWLMteztPIbkdCK7XVP0TqhgJBCc9ghs70NUWphIZWGHGOfBoEaUbGy68vh3c1JOSspkfCBVHridaJfbzlrRLeOIEvOspBUH29PAq9mpQ+Wcz8s28ByGPNrEev3BRgJ1yHHOd5yJeFC2OE4mnQ+D1el6vIx4+wsaxihZemwqmqRfTveC0mMgW87u+AX7vPxv4HgQSS9cTljENSntFCraCLhDTcj4xU+NTp3zaGwMN8OzNdxyDhGFyLWni5RaKe1csS5p+aqKZMaWqG1ey BHfNVUKa TOBbWNsMX6mLn/bGiyHtXTW4nOt1gbwPVTekqGOeF/CfonP92JVH2F6mwq45w8yjKgwGpWLt7oCjjuJDMpD7G2TqAnBc6EItgi373hcgdl3KB4t7kOL08kdQw3Tw8Mc9kL7vN55ICEJ+pY6t421CG9kIlK/Tc8H0MyQqskLDIjLEnRJPOXwe6A60GbHdHaPOrwHNDuxeCkwHJqC5wuFzvLKaO4vt7Z2lG4pCCTIeT3buhtV+0TDgYchA5HYMKeWyW15M25fMr0Tj6sbgcVc4+RGM/cvHAqQpyP0eNeAObYvWmANGWreHg5N4QDZI31petuI4Hp5nOYfoLdKjm1/Tp3E0SqyXq7As9E+NswhYG7qmVuXk= 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/1/2023 5:09 PM, David Hildenbrand wrote: > On 01.02.23 09:17, Yin Fengwei wrote: >> do_set_pte_range() allows to setup page table entries for a >> specific range. It calls page_add_file_rmap_range() to take >> advantage of batched rmap update for large folio. >> >> Signed-off-by: Yin Fengwei >> --- >>   include/linux/mm.h |  2 ++ >>   mm/filemap.c       |  1 - >>   mm/memory.c        | 60 ++++++++++++++++++++++++++++++++++++---------- >>   3 files changed, 49 insertions(+), 14 deletions(-) >> >> diff --git a/include/linux/mm.h b/include/linux/mm.h >> index d6f8f41514cc..96e08fcdce24 100644 >> --- a/include/linux/mm.h >> +++ b/include/linux/mm.h >> @@ -1162,6 +1162,8 @@ static inline pte_t maybe_mkwrite(pte_t pte, struct vm_area_struct *vma) >>     vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page); >>   void do_set_pte(struct vm_fault *vmf, struct page *page, unsigned long addr); >> +void do_set_pte_range(struct vm_fault *vmf, struct folio *folio, >> +        unsigned long start, unsigned long addr, unsigned int nr); >>     vm_fault_t finish_fault(struct vm_fault *vmf); >>   vm_fault_t finish_mkwrite_fault(struct vm_fault *vmf); >> diff --git a/mm/filemap.c b/mm/filemap.c >> index 9cc5edd8f998..95f634d11581 100644 >> --- a/mm/filemap.c >> +++ b/mm/filemap.c >> @@ -3386,7 +3386,6 @@ static vm_fault_t filemap_map_folio_range(struct vm_fault *vmf, >>             ref_count++; >>           do_set_pte(vmf, page, addr); >> -        update_mmu_cache(vma, addr, vmf->pte); >>       } while (vmf->pte++, page++, addr += PAGE_SIZE, ++count < nr_pages); >>         /* >> diff --git a/mm/memory.c b/mm/memory.c >> index 51c04bb60724..7e41142e1e4f 100644 >> --- a/mm/memory.c >> +++ b/mm/memory.c >> @@ -4257,7 +4257,8 @@ vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page) >>   } >>   #endif >>   -void do_set_pte(struct vm_fault *vmf, struct page *page, unsigned long addr) >> +static void do_set_pte_entry(struct vm_fault *vmf, struct page *page, >> +        unsigned long addr) >>   { >>       struct vm_area_struct *vma = vmf->vma; >>       bool uffd_wp = pte_marker_uffd_wp(vmf->orig_pte); >> @@ -4277,16 +4278,52 @@ void do_set_pte(struct vm_fault *vmf, struct page *page, unsigned long addr) >>           entry = maybe_mkwrite(pte_mkdirty(entry), vma); >>       if (unlikely(uffd_wp)) >>           entry = pte_mkuffd_wp(entry); >> -    /* copy-on-write page */ >> -    if (write && !(vma->vm_flags & VM_SHARED)) { >> -        inc_mm_counter(vma->vm_mm, MM_ANONPAGES); >> -        page_add_new_anon_rmap(page, vma, addr); >> -        lru_cache_add_inactive_or_unevictable(page, vma); >> -    } else { >> -        inc_mm_counter(vma->vm_mm, mm_counter_file(page)); >> -        page_add_file_rmap(page, vma, false); >> -    } >>       set_pte_at(vma->vm_mm, addr, vmf->pte, entry); >> + >> +    /* no need to invalidate: a not-present page won't be cached */ >> +    update_mmu_cache(vma, addr, vmf->pte); >> +} >> + >> +void do_set_pte_range(struct vm_fault *vmf, struct folio *folio, >> +        unsigned long start, unsigned long addr, unsigned int nr) >> +{ >> +    unsigned int i = 0; >> +    struct page *page = folio_page(folio, start); >> +    struct vm_area_struct *vma = vmf->vma; >> +    bool cow = (vmf->flags & FAULT_FLAG_WRITE) && >> +            !(vma->vm_flags & VM_SHARED); >> + >> +    /* >> +     * file page: batched update rmap, mm counter. >> +     * copy-on-write page: batched update mm counter. >> +     */ >> +    if (!cow) { >> +        page_add_file_rmap_range(folio, start, nr, vma, false); >> +        add_mm_counter(vma->vm_mm, mm_counter_file(page), nr); >> +    } else >> +        add_mm_counter(vma->vm_mm, MM_ANONPAGES, nr); >> + >> +    do { >> +        if (cow) { >> +            page_add_new_anon_rmap(page, vma, addr); > > This doesn't work with anon pages the way you intended in this patch. > > Please leave anon pages out of the picture for now and make do_set_pte_range() only deal with !cow. OK. I will move the check to do_set_pte() and only call to do_set_pte_range() when it's !cow. Thanks. Regards Yin, Fengwei >