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 4E690C636D3 for ; Sat, 4 Feb 2023 05:47:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 62DE86B0072; Sat, 4 Feb 2023 00:47:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5B6C16B0073; Sat, 4 Feb 2023 00:47:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 409726B0074; Sat, 4 Feb 2023 00:47:24 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 29FE16B0072 for ; Sat, 4 Feb 2023 00:47:24 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D3C6C160214 for ; Sat, 4 Feb 2023 05:47:23 +0000 (UTC) X-FDA: 80428526766.28.97B6342 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by imf18.hostedemail.com (Postfix) with ESMTP id 9529F1C0008 for ; Sat, 4 Feb 2023 05:47:19 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=IgyEuLIi; spf=pass (imf18.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.43 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=1675489640; 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=VQIQ0zZrIA8S7xu7XthByFFu0VUw7b4Y5671FfUQ5PA=; b=zjiV0wLrNP0KnIZDoQPSU+cMrKc8/47OY+3pofkLzneUOYrc44us9Z74j5PmXSyZXc8Zsk UcVIJ0GGKZ/zFCoo1vspe7lGEKAwgJXgl1nGmEUh2N7SUvwmnuuPdmQUGfPOl8VlLfQPuz H6wEkQeTmG6hLfGE6EHWtXqMT3O9lH4= ARC-Authentication-Results: i=2; imf18.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=IgyEuLIi; spf=pass (imf18.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.43 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=1675489640; a=rsa-sha256; cv=fail; b=4wGV+35zs9UerPxpqO+wcW1MlizWQaZlYCUnpa3IFZwMefugn9Gx6nWDRzVu3BCIrZuI1s dtrv3rt2Vbz/ZXsmfHUNS2FcvQ8y7vgHRTCU7Qffy1myvs6CqVYPVuwI5tLQM35cG6zpVO KBAGhOj2rJU3g1RJ+1qZf5ZhPi3aeSk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675489639; x=1707025639; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=I+62JXy4F4jqgvDI8dC2Vcsqo8v5vmzqoZtzSxHc4fw=; b=IgyEuLIi3sofFhtEbuwaC2LbfYqJkSIBmcVn+7JlkynL5uzPAG44y/6O U1INs4qYo0VCr6aJF54lOirwkp7wj7P5LnCOcrfHq6NBxi6/BZ1gbYV6x E+Rvnuz0+rN3yivuZWDznGUKQFjbUHNZYzrF2aIlsDMujfJwF6kNIxNH/ Xqw/cVM0zzXmd9w4W/y0f3KD2r5NY3lsq1pceFBnXDLnXhkApGPFWqkRX t0RuxLVSwuNGV1SvFj+rHO9NUUEHkmUh7ywt04jm+txMWpwOXcGYqdljO p51eUR8YCGyqB08CBX2CLFhuN64562fsaltDtjBqCZ1iDVRNbaajlHU9a Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10610"; a="415134132" X-IronPort-AV: E=Sophos;i="5.97,272,1669104000"; d="scan'208";a="415134132" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2023 21:47:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10610"; a="808570935" X-IronPort-AV: E=Sophos;i="5.97,272,1669104000"; d="scan'208";a="808570935" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga001.fm.intel.com with ESMTP; 03 Feb 2023 21:47:17 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Fri, 3 Feb 2023 21:47:17 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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; Fri, 3 Feb 2023 21:47:17 -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; Fri, 3 Feb 2023 21:47:17 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.171) 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; Fri, 3 Feb 2023 21:47:16 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e0uglpcdAbUJqZqO5yJlcnmiDMDW9p2MpgcT1LXi0P3zDfgjubYz+9d2QIVVG5EmtpZ9FdGNgA8559KaqICaoktdF5lWclFgE67YbPNqfatj8lW7q5n2IupkZ4pOEsUhUDd51BHnauEorO6/kCGf4C/Aan3LWrEAVFrqiZvpH6t1TouWFf+/Sd1DEU4GyhswBUAnOpkQNO4qo1Lyu4ObXTkcuN1t4bK0DryPbe5q5M/roVLhpg/ezk0LygqawgM/pLriE8auCt1qWAX122Nl/X7CHilcS4eaVsyGr79Uv2J0GYL8xV5tM2MrKuj1njEQ3YJn0QAVSAtC9jeSdYXKtg== 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=VQIQ0zZrIA8S7xu7XthByFFu0VUw7b4Y5671FfUQ5PA=; b=e6iylx84kSaTwhM17HEgK3pE6VxweR2jHmJes2je9jQb0pykT9lZvkednRkoU+506BSGoZv8P/DqPkcWPNHHJ1AStTbRQoEBZiyXCE9+CQCWZEaDL/5pMz+CS0YPKHdhQ1kj4800d8I5HZfIrADFxxcVQcq+0sMic34PV5qZ6g5qJG6zewxW0q4YnhBkkMVa6t4Bl6+q9ZcdBNgH/MuPaIXSzfYZAMQUm/APHAwCfv/WVxuRsUa8bfyU2wlIZGJC4mYSMVOe24/vS2Cxdo0tRaSEOCXZw/v4J24ZSPt8pNOQHcWbsDPh3xw7C8SLHUlIzPf0JRTx1QU9CGzGgLk9cA== 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 PH0PR11MB5109.namprd11.prod.outlook.com (2603:10b6:510:3e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.31; Sat, 4 Feb 2023 05:47:14 +0000 Received: from CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::1531:707:dec4:68b4]) by CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::1531:707:dec4:68b4%3]) with mapi id 15.20.6064.031; Sat, 4 Feb 2023 05:47:14 +0000 Message-ID: <39e6a381-3b11-bb79-203f-d52ca5076fd5@intel.com> Date: Sat, 4 Feb 2023 13:47:06 +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 v3 3/4] mm: add do_set_pte_range() Content-Language: en-US To: Chih-En Lin CC: , , , , , References: <20230203131636.1648662-1-fengwei.yin@intel.com> <20230203131636.1648662-4-fengwei.yin@intel.com> <28b7e294-8074-47ee-88a2-51890a035559@intel.com> From: "Yin, Fengwei" In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2P153CA0014.APCP153.PROD.OUTLOOK.COM (2603:1096::24) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|PH0PR11MB5109:EE_ X-MS-Office365-Filtering-Correlation-Id: a0d8c496-107e-4ddb-7e94-08db06734462 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: vDNTUVNzxMVJDiICLrthXR9hWJb7jAYjUP/r+mY5X7F4U2LXioqTca9M5Lk8OVYMlm0wUkeWPgiO0to69rXVFTpYNDgV1chOUeGXSm5tNnPSsHAzHdKXuUBC1ipHBMVvdU/RCN/uO1V/i9715OLnYspzBv+ictgeDfiAwken8Mvevgwlam3FlSDfab/zqA3e0Au4r3J7wLi3Jj3gWlqRtxlTxziebuBd6V5eHfhc0/M4/l28OTMUy9DaCgcW7ZWAKsSx+KiVgxHq+BwtjwaxFXqW/FOVna2E/e0KKHhSk1EqLdjVa1I9wTmDy2Cux8pg0lzyAj4VdT9jVtaaomOnL1J5N8pGrvNI23VLsOL7vNG1jS1S/bMpFFGuppQApcBQDn5VF2xnIZnZQsWTY0YNzaYX+wdyVJ3D6m9/x6xkSLYrpgAFU6Qj315vN6juAsGnh0922JKBjVkEZDEAXAQJVbg5b/RWV7unEHzat+dGBCYmtM1Kecz2cVv0cAjPR3TIhiETlWBbZLUO3EJ+WF2+iRbWN5Vbssi25qGUgr1xuRizD/HC21Q/ixFMN/pPKvyytrn6BdJtEUm6ZiwR4v4xtv7HyBClJQgcU01IYl3OtAJDG1HJGytz1VKQDAv+aNwFjX7af5sMpW9rHGAAZDbIgUDgub+JXhVQA6l9CNGmBfn7QLzkvDtwKFJ9lA1AdELrWbThv3Qls4c8NXw8trbQbNhxGtsBWLHDwJd9MLUhzDg= 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)(396003)(39860400002)(346002)(136003)(376002)(451199018)(186003)(6512007)(83380400001)(26005)(36756003)(53546011)(6506007)(31696002)(6666004)(107886003)(82960400001)(5660300002)(38100700002)(2906002)(31686004)(8676002)(4326008)(6916009)(66476007)(66556008)(66946007)(316002)(8936002)(41300700001)(6486002)(478600001)(86362001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dmNiVGVrT2xCWmprZjEvWGU1dmtWbmJvRFR6M3Izc1VETTg1QUdnWG5rRkFy?= =?utf-8?B?K0dHRFZvTGtQT2tMQ1BWNmY4YzFtc0o3U2hWNjJkZXluNEMyYUhnSVpBRFht?= =?utf-8?B?cHFuYnV5MTBhQ0Q4UEpMd3htS3VKUXB5c2ZGZHF0eGJBM0RoL1VyOUl0eEdH?= =?utf-8?B?cUJzbXpJMmdYcHM4MnYwTWYreG1kemcrR0F0OEJla0RiemUyVFk1WFY1MTY1?= =?utf-8?B?dzd4M3NVZXF5ZE9TWFVTTDNOSDVSazNiVitYUUI1OGMxUGd5TGN3bytZV1pM?= =?utf-8?B?UE94blhDRzluN2pLcnBmSWxoMWV5c2g2VWNhNU8wcndGaDlXRG9QZDNsUkNZ?= =?utf-8?B?WDZYRFNrNk9rMFU4VnVPNlBwVGJUbG82aDRwOFFoU3J2T3AyVmdYK0FvbExR?= =?utf-8?B?SmczbUxYNEIwZDg2MjVFNEN4L0FoajY0Qzh1VFZMbzdMZkVIRzF1NWsvMEZ5?= =?utf-8?B?QW90R1hXcmVIa3c1RVUvY2cxMWN5RWs3dEo3Z25oRnJUdFhTVG9QN1dVRS9H?= =?utf-8?B?M2hkWmo2Y3NTbzUrN1ZiYnJ1QThmeUxIOFdWMWF0UTZtY3JLVUZ4NWY3MkxL?= =?utf-8?B?b1hWK0F1a2R5VE85azdlUUxoaG80Z2gwbC9XSHZOTEUybHdYaFNpRXIrZEdx?= =?utf-8?B?V3VHMmY5dWJqMXhkVzZ0ZlE1eXNHeW9jdHpsRE1FdnpLWEdLZHc5YzdReU05?= =?utf-8?B?WDdWZkpHYnB3dzlsalF6S3o1RnFjYk9wMTVDUHQ5eGFVQnl2MndSUkpSRUpq?= =?utf-8?B?eE9aR0N3ekpZaE83N1VGL093UU0ydlBNNzFybHdMVUtPZ21SbGVKLzNWL2Np?= =?utf-8?B?VVBJejNCSGNiOE81WFcrTnRXU2R5aHRacXhjVjEwQ1U1VHZrL0pOWUxLWUxq?= =?utf-8?B?L0lyc3EyeXg1TFNoYk1jdWUwWFpYellCZ212UVdtN2U2cXNNeGlESjR5TGdl?= =?utf-8?B?UzdVT0ZlVVRmdkZKLzlZZ1pVUVZtelgwcTdNcVF1UmdJcVRLUGtadmc5Q3gy?= =?utf-8?B?YnFOb1E0dFdBME9IcFg5MTdDek1qb0loMEYxcmlVYjlkYTJtSHl6OFFNNi9v?= =?utf-8?B?MjkxZTUwYWZ2U21aK0FFbU1CMUFRdlBiYUVyeUlMaFZramFjMnRabzhhNGF1?= =?utf-8?B?UWFEV3dOQ0FpcTFYcEhLQjRMMFdNNFczQXBaQ1NiMTJ5QlIrbTBWd1NkV0d1?= =?utf-8?B?cXpMYXdGSjNFeGFOYVVQb29mSXYwZkJaZGI0M2J6d0czQ1QrMHVKTjd1SVlE?= =?utf-8?B?N2tUNkJXckhZSk5yOVZkaEh3UjQ4ZXkvY2tCS0hZcHRQNEtmZUhnZUplbVhn?= =?utf-8?B?c2ozbEhVM1pqZGppM3V6L3MrZzQ2SXl3a042M2RRYVpGR2ZmbmEzcDdQRklF?= =?utf-8?B?TEEvRk1BeUt0NVRSQmQrOGc3b3BSR3NSVllPZDg5eWMrZFdUTit5eWI5UDlo?= =?utf-8?B?VUhMK0wxSUhXN0xwdm51dVVnTHJYYWpwaXZMcDJBbktHMTN6dkZqenc2N0JJ?= =?utf-8?B?OE1iQW12SUhsUW5TYkFBSGZmMjJtdDhlcDg1RDdBQlVXcVJVU1MxVm9paElt?= =?utf-8?B?QjZJYkswbnJNUHBtc1E2QjdEVHhtMVhqRGdCN2cxT0ZsbHMwWHlrQ0dFM0tE?= =?utf-8?B?S2srZ2x6a2N3Y05sMTNLdW1DWU1NOVFNd0hmZ203dVgyTnVMTHhIalEvSlNV?= =?utf-8?B?VzVRUjhGRk9aRjRiM2tlbDhqRitkTjhvN05qWFZsVGkyZXRBSzV6Ym9hR0s4?= =?utf-8?B?b1VzOGFqSjhhcEQ2ZzBnWXVESmY5akgvRnlZeHAxeWIxYmRneTBSSng5am5i?= =?utf-8?B?YzhZazJ2QTl4K2gzZkdJYzlyeFNaejdjZ3FBNE5NeE1jUzhZSFRuYzVOYmg2?= =?utf-8?B?Q0h2QXgwOGNvbkdWbE1JUnJPcUt0K2orcmJzNWtPL2RyaWt0M1VCL0F5bEJT?= =?utf-8?B?RTloci8zdEpQRGZMbmd2cXduemJvNlQ2QitwSGVOOW1DZ0ZQbUFvcmJhUThx?= =?utf-8?B?T1hyUkdMY0w3aS9VdWNhQnl4RW9aK3dkcWpWVGFQdkxsQXBZTDNrTXJYMSt6?= =?utf-8?B?MVk2bm00aDl4L3VkU3BEMVM0cGNhMGhkZy9kL1VFUVBtdCtIeGFsTi91T2FC?= =?utf-8?B?aVg4bEZyY0s5TTBoMjlRWTNrZm9MV1FEd2dEN3NjT2pKYmhRalpFM0UvTVps?= =?utf-8?B?Y0E9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: a0d8c496-107e-4ddb-7e94-08db06734462 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2023 05:47:14.5898 (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: j87n1Fs1S8ITxcCRRYPQ2vmCB6JQXCJcpDZ8wKQ18vI+QYhXqTc4jS+4vTE6uZPIz+NtHThrlBQr0I03SgRz+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5109 X-OriginatorOrg: intel.com X-Rspamd-Queue-Id: 9529F1C0008 X-Stat-Signature: dsie77e6t1ju9yys5r77atzi87oxg7s4 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1675489639-251781 X-HE-Meta: U2FsdGVkX19AXc4C5iTE7nqDgUz5eyQ8JXWziTlMQ177y10lYE8lhKS8ptAVJLWo17diPk2mLfDiR3Dn9DAhiAHHWcACxgRGm3MreUjfq4ZJ1DWLXOQHTJInM4T73nwajuj5ZOSyGTX1/6q7dCssMNV2gtmfpqBDiLqCdvbpkocpTkdVyhkYknlhU7XYYl1PIEdpgnNNbwKPl/kPLkDVI+mTqGT3gzOMK/ky7n2Jp4B0ik8YbOhhshBIkgMEiDjTAGBl4ltKY2Wi/cC2+CmfflQg8zRW4ZmYH+Rk9jXogRTBmbj6riGna8Tce2bw7YT9Hq/PqPNdTFlAnuFIBTqsXNrXJh5PYhbgTbpjGtU7mPqG7SjWZ4zU1VqtmW/O5O4btpKfb5UMVqFmrXKFY6WUTmujt9UTFbE0NheHGv6N9Ey3SQ/Y8yorQNosLDf6m4rQkazN7XtmUds/cI+pMkKM3PYrddKhiJKwVxHkyLFBkMKwT8sdpx5PGo0lPlT/MTqealSVVmYrlzS156FswhtRWkaF1hGnj56sD4LrXBhv1LguQqoFw/k0fIh8/s6sjrBCpClLYH1JoSWFHkX4zTfb95OE0fO57Wbo/E6g/Wd0WyX9giSjTFX5hYhkxo8X867lJAsnvDLNolDj3MDWWxS5x5cepgrAdJYpdt7tGi4r0PhJBS3xtpl/JGDeKsqeD3/rp/xtm1uKdrEZ9GbAG5LaYtbByu/bWtNrKh5Bxogwm3h9DeHWZHaHAzeZNEDR78U5UkKPd/sMtngfIb0KJVbpmfUKUXBBgDbz1BxESaDvb9gZeMutVFATe60QwzJeQCbXPzcthaiMXQKarDOQ/72QH4K+qBfjrh4jIb2fzaWcT+Q4DY+2OBCF0T5k5ynjh6X3V3RUauWbSXRV9VJl59jtn/5rqo0ziMiL0E7Kq7ICZGvXn0tm/02SiSzHEZfnI0F08izFjRqMwQoRNiXI63U 0RPNs5nZ CAYuCZs9OuNE05gm4UBVk8saL9sWFfNQcmQGmCFG36uXGo8SFg39nZCkSVj2QNtx5V24pDAKfxu7sJsOsTqhSZuZBhYWME+CiEt0vkbAk/tXozMABbrKQLhINt82WU/EVnC3UWEItvq8XGife78yScMbM1iYQvjIQsswWFv+Bu4akojIAoVhSM9K7CP7PTYXPqSJE9EwXAfaahobG4c8DuFfoZ1f1vbQ8jKQjsxQZacoitAimePGoYkV26meP1W1ojp7z2v3tn32g1xi3Ks0UTdNX2mEvidB3+G+2W6R0ppDDz4QWJnqiTYXbHnjBnhIdlHkeiKpbFg+ycddHLCRXLAZ5FFc+Z2oXTwUnQHXihlRcAnxKAINNg5ueHP0ZUy15pDNTmvwWXqycnWhQch7clbulc6xmu1WJ0H/p5PY+6Q4I12MuqMYDbFEadg== 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/3/2023 10:30 PM, Chih-En Lin wrote: > On Fri, Feb 03, 2023 at 09:38:15PM +0800, Yin, Fengwei wrote: >> >> >> On 2/3/2023 9:32 PM, Chih-En Lin wrote: >>> On Fri, Feb 03, 2023 at 09:16:35PM +0800, Yin Fengwei wrote: >>>> do_set_pte_range() allows to setup page table entries for a >>>> specific range. It calls folio_add_file_rmap_range() to take >>>> advantage of batched rmap update for large folio. >>>> >>>> Signed-off-by: Yin Fengwei >>>> --- >>>> include/linux/mm.h | 3 +++ >>>> mm/filemap.c | 1 - >>>> mm/memory.c | 59 ++++++++++++++++++++++++++++++---------------- >>>> 3 files changed, 42 insertions(+), 21 deletions(-) >>>> >>>> diff --git a/include/linux/mm.h b/include/linux/mm.h >>>> index d6f8f41514cc..93192f04b276 100644 >>>> --- a/include/linux/mm.h >>>> +++ b/include/linux/mm.h >>>> @@ -1162,6 +1162,9 @@ 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 addr, pte_t *pte, >>>> + unsigned long start, 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 f444684db9f2..74046a3a0ff5 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); >>>> >>>> /* Restore the vmf->pte */ >>>> diff --git a/mm/memory.c b/mm/memory.c >>>> index 7a04a1130ec1..3754b2ef166a 100644 >>>> --- a/mm/memory.c >>>> +++ b/mm/memory.c >>>> @@ -4257,36 +4257,58 @@ 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) >>>> +void do_set_pte_range(struct vm_fault *vmf, struct folio *folio, >>>> + unsigned long addr, pte_t *pte, >>>> + unsigned long start, unsigned int nr) >>>> { >>>> struct vm_area_struct *vma = vmf->vma; >>>> bool uffd_wp = pte_marker_uffd_wp(vmf->orig_pte); >>>> bool write = vmf->flags & FAULT_FLAG_WRITE; >>>> + bool cow = write && !(vma->vm_flags & VM_SHARED); >>> >>> Why don't use is_cow_mapping()? >>> Is there anything messed up with VM_MAYWRITE? >> My understanding is it's not related with the mapping. It's related with >> what operation triggers fault here. Say, if it's a writable mapping, and >> if the read operation triggers fault here, no cow or maybe_mkwrite() needed >> here. Thanks. > > Sorry, I didn't describe the thing properly. > It makes sense for the relationship with the write/read fault. > I'm just wondering if "!(vma->vm_flags & VM_SHARED)" is enough to determine > the COW page? And, I also found it in do_fault(). > > Like, copy_present_pte() use is_cow_mapping() for COW page and > "vm_flags & VM_SHARED" for shared mapping. > > So, I looked up the commit that introduced the is_cow_mapping(), > 67121172f9753 ("Allow arbitrary read-only shared pfn-remapping too"). > > Here is the commit message: > " > The VM layer (for historical reasons) turns a read-only shared mmap into > a private-like mapping with the VM_MAYWRITE bit clear. Thus checking > just VM_SHARED isn't actually sufficient. > > So use a trivial helper function for the cases where we wanted to inquire > if a mapping was COW-like or not. > " > > hmm, but it is v2.6.15. > So is "vm_flags & VM_SHARED" enough to check the COW page now? Thanks for the detail info here. Yes. VM_MAYWRITE bit of vma->vm_flags needs be checked for COW also. In the page fault path, the VM_MAYWRITE bit was checked in sanitize_fault_flags(): /* Write faults on read-only mappings are impossible ... */ if (WARN_ON_ONCE(!(vma->vm_flags & VM_MAYWRITE))) return VM_FAULT_SIGSEGV; and bail out early if it's write fault and no VM_MAYWRITE. My understanding is that sanitize_fault_flags() is called first before hit do_set_pte()/do_set_pte_range(). Regards Yin, Fengwei > > Thanks, > Chih-En Lin