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 65D1CC05027 for ; Thu, 2 Feb 2023 03:31:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D2D456B0078; Wed, 1 Feb 2023 22:31:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CDCE46B007B; Wed, 1 Feb 2023 22:31:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B568A6B007D; Wed, 1 Feb 2023 22:31:41 -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 A31CB6B0078 for ; Wed, 1 Feb 2023 22:31:41 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 7D6D6A0893 for ; Thu, 2 Feb 2023 03:31:41 +0000 (UTC) X-FDA: 80420927202.04.7BF6659 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by imf11.hostedemail.com (Postfix) with ESMTP id C61D140004 for ; Thu, 2 Feb 2023 03:31:37 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=h7ZHEc4D; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf11.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.100 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=1675308698; 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=xR9CedhF6S798f8I+c4NhhbGFZYmPg6MTUyX14D3pe0=; b=bYVall3OI0/GjvYHeZOLBHA3uA7ks9RIpdBIAesPyVILGHzciZ/bfrymF43FrYtKH5xd/8 RLSYrXf4OBHD+YlW0PA7oBX+1rgqqx0WbdopS+DCQGf2azi6zbOnZzpbCruz8sYs4JBoT0 mDnDmR+m6+fKFHtvRKTZQtC4dZ88WRU= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=h7ZHEc4D; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf11.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.100 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=1675308698; a=rsa-sha256; cv=fail; b=LDvv7V7Gh/pNBLGzcIX9+wrZftU7V8wcuxSd7JQJCjmppgAHOcCbVfLIWkUlBXrhSUNzfY HJV+uy4rFYkkkkpksHdGJUuOS71j+tuLjFK+YLia55l3T9AMNZrHSAf0HX79yhDdgZ7HBT SnsCbDhExcDgx7DHd4PbxLwFXpUwYuE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675308697; x=1706844697; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=sZejfmk64I6WNym/g6ZOrjHEzaLpdetZT4k741gOS8M=; b=h7ZHEc4D9tt9R7AsGrzcVPF7WAbgB1m0XDKcOiDFX66kfIvsQgPrVSOG l0pthhpIU75l2sPdMZP4F6PtFIgVVKd5eNUGZiYjF9KR2XOoY94p+Fr3c b5liu/x61gRwgsxTqYMx/FeFzsEWjkZzMIE3xl2hFqnvu3ssmi8J+avvk mn/au81TIIUc63i+1dQp0bXPD1PLrXb5Y1GM+ZjZFpYYnWwF7Qe+QmjQg ZMws8tO5dPLvxC/rCSumt/ghUEq2E2pB6QQKygTUXyuUP9hKXwAEMrIQ9 Mr3R4OnVb0TjUgrMq8rHcts9o7AQU35SKS8rK/YzFb3CKOOtdUBXTAdA3 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10608"; a="392921873" X-IronPort-AV: E=Sophos;i="5.97,266,1669104000"; d="scan'208";a="392921873" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Feb 2023 19:31:35 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10608"; a="658568081" X-IronPort-AV: E=Sophos;i="5.97,266,1669104000"; d="scan'208";a="658568081" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga007.jf.intel.com with ESMTP; 01 Feb 2023 19:31:35 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) 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 19:31:35 -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 19:31:35 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.109) 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 19:31:34 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nbhX8gObclSOkinCh5DG3m1PklQTbHmYJiHLIkk7VMOZSmMdoQFDaoyB4RqI4LmBvY1r//U93LqeeKs8T4puDYvmOOYA6vNuF95tbAlPE58WP+zdi12CGiGQ4PHqlZNucylFYavsmW2v3CoVQtzDSh+2sSlYOe2Ww2HwuoHTGhElz4GJoXg27rXKtsqDl6D6GJVuc8zrt66fQOMvF5P7ioKiRIvLvwAV5npYeKejiB/ueDYL4ci47nGQkyTNMIaKUUNIdnhkJL8nSH5ppac8tNvb2VzyX8qWqDHPidLynsWBkbpXOExxs1GHrMGTrh+/aw+ng+GFr77BJPzJiL0OWg== 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=xR9CedhF6S798f8I+c4NhhbGFZYmPg6MTUyX14D3pe0=; b=QH+/JTFy/FZEnbKFy+ht/476bWDtheBSDmECSyEuztoOKPlOLUKmqBbQrryjaQQ+c5XKsGeQCy+VJGWmFbqYrQSHtMt/noxg4W7ugbGqm/XToAwJjk4h7bWiC9bosuik6bFBs/evNoQKXgPCKizINu8Q9fQmpl4sFKbhYJGrWgIWQ964AvdJISMrvgTBg1pcDGxsywEC+NfMiQuzH9Xqk+vgGUnrQ6bMOrdhN0uMxZl708EJwhONsv8l2YDqwBudSxIccx8PJKSaQqq/2rEmDAuUw1hunSDBkSCJbED8JXZ+7uj6gzE7+YuNCIiLVAHIHZCapHmTPsaoJ5gIFikHBg== 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 MN2PR11MB4679.namprd11.prod.outlook.com (2603:10b6:208:26b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Thu, 2 Feb 2023 03:31:27 +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.6064.027; Thu, 2 Feb 2023 03:31:27 +0000 Message-ID: Date: Thu, 2 Feb 2023 11:31:18 +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 5/5] filemap: batched update mm counter,rmap when map file folio Content-Language: en-US To: Matthew Wilcox CC: , , , , References: <20230201081737.2330141-1-fengwei.yin@intel.com> <20230201081737.2330141-6-fengwei.yin@intel.com> From: "Yin, Fengwei" In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2PR04CA0152.apcprd04.prod.outlook.com (2603:1096:4::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_|MN2PR11MB4679:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e38ccd1-4a95-474d-045b-08db04cdf768 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: SNMr2qxmYhqowu25IOyOaF1AWx4kkThay1aONcQ/CT11iT4fU0R1AbNo4YIWlR+wtfFmK2C7IXE1NXqaQsCadDbKZ5lT1HwvBV7dWcnUQ+MPIIq8Pnu+suwfYQNv6K4S92BqemAxtLnr6Ddrue3UXSNQw0PIN/GqJlGbn1kSctnMKBdH2/tdzPNEFRO2ysnl6jUyp3X3A9xmATGsdYjwMGP2dENOJ9wIZU4+NTh5R/+xsENKglxkxkfVDan/43znYq5JzGL2bSnBcGAKBWeujiNhgW/p8zkxtrVEqjY//SYwDB3KL2nT3E7AdCMEHCnhPM7QV7h7q0LVm8e1TM32ZPjBzuV6nJwkEhSoqNVx+tCIc6VQLWqWlcdciFoYqSyubmqbL8vTq5e8gvmuCLLzAKPzIxvTg4IL5fKXpVh0eHvwKCwyes7KIQc2bFrfZCGjNvC8x6LQ2HXQRSNbj4VhOS4MVk9cvPg+i6QNFED2Of+VVLPj804y5wP+KBiX9c4+9fiZ/g2RCVCet0TWGD4dXSbD+XHuNXsuytVF98K+deaQecdATq9Syh8UPSXpQTyviO7nm7dRgzfq6kJIuQomLyA6LAK2Er3ZEnebaYBZJN7KPdYlQ0kvAsxE10OPi8YvjmkT5RRi24ZSDeYPBUt1314y5StX3fAuJl+ggwobYVRLdVjyZVAHMMmWwzkoHVLXLBBI1sEPNRIWWXRiB65vxUf10FDAAmS26fhQnVHQyBY= 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)(39860400002)(396003)(376002)(136003)(346002)(366004)(451199018)(36756003)(6506007)(83380400001)(6916009)(8676002)(41300700001)(8936002)(66476007)(6666004)(4326008)(107886003)(6512007)(66946007)(316002)(66556008)(26005)(186003)(6486002)(478600001)(2616005)(86362001)(82960400001)(53546011)(31696002)(15650500001)(5660300002)(2906002)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZW5BYnJ2TVdiTXY4NGJQdnd5TmdHUkIvZ3pSaWFTU0MybDgyanZ1TFM4azN4?= =?utf-8?B?K0c4aXdPYXlwSjhsMi9PU2xaVWNGSUZ0WnFvUjNuazh5WityVmdBVDJFb1Jq?= =?utf-8?B?M1VrOUFmWFJnZzBUNGQxUEtJdEFHQ0IxT1UvVEgwV24vMkFsSUVGMHBqNEQ4?= =?utf-8?B?OTVMcVhUeE5EUXBnc3BYRng5NlE5em1FYmc2V3VmYUUvRnh3cjFKc1AxN2tn?= =?utf-8?B?c1BYMHFCUkVMakRhV2ZNQ2xURUV4dnJqWkpTZEF4UTFuRE1zd0hMNnM1dVhK?= =?utf-8?B?ZE8yNHBjMmp1VTF4WWJNcFcyeS92ekVjR3RHeVF5bHB3V1RwVEFnY0JZQzlm?= =?utf-8?B?NjVLemtKTTVncTZrY29iMVdYRUQwWTZvSlRUTWZFbmJsK3lrQTlFZzZ6aVVk?= =?utf-8?B?dHd2MS9hK3l1OEF6QWNyLy9lUHRORkF3Qk1BQVJoelpnTnAzNXhSZW5sMVB5?= =?utf-8?B?T0NDZnhqVXdXcVZZUFZ6b1hPWllmY1JOemtlcTdoWm5LVGFaVTFwdDBBRzdG?= =?utf-8?B?c3JlUzNnb2NrWDE5SzJIYmRDSWQ3MFd0R1Y4MGJoUmxuTjRCRlVLK081YlUr?= =?utf-8?B?ZTBwQnpPYVY0VFdDeE1nOGpRV3ZOTXJlaWtKSk9acmt6MWpSdXRtQ0ZhVDBV?= =?utf-8?B?NEVyd1VwdG14dFRDc2NoUnQwS1JWckpiMjlEdXhSdjhvRFQxYk9NY2xsV0J1?= =?utf-8?B?S0MxTlBwWTRIcU9MSnVFeTNhM3ROOXUwekZHOUFsS3ZpNHRHTmpWSjZpQzBG?= =?utf-8?B?Q3N0Y2tkcVdsY2Z2Z21xdksvelR1cHAxbHVlU2l0bVlta0FSMnNPdHJLS0pt?= =?utf-8?B?VGhoRUQwbG5GWlZTVzVHMUJ4SUthanRwYUw1cXdRZmlCOXVEYUtBREpDU3cx?= =?utf-8?B?NmY2K1IvaHhxMzQ4UGFzb0wva3ExOUNWU0d4b3ROOWYrUkhjTjJDenlJdU05?= =?utf-8?B?dXJ5d1JxYjdOWmpNOThhRnlKU2hJT2pkeUJyZ0U1aDdsSTI2aE0vdk5wK2tw?= =?utf-8?B?VVhLZzFteVJ4aFMzVXRFOFZ4aThFcy9GcHMyeDVmZENiTlZoNEM4S2x5UWJM?= =?utf-8?B?TFFqWUxzTDlQUERGMVRyeUJQeElsZ3NaeUxHZGdUSU5aSjFMa2svcFRsZUZk?= =?utf-8?B?aC9mTlcvWE14N0w0UkxBenhla0YvaDJuZVRRY1ljSncrUHFxYmEwQzJ2K2dH?= =?utf-8?B?bGRQNjJOZEdRL1AyZjYxQmFIU21yaS9ZMkh6cFdSWXUveklhbzZZcFF3eFEw?= =?utf-8?B?bnc0RXNiODBXZGV5cEx1QjhxZ094dXp3YVdzRlkyT251aHhJZmNDek1BOUJB?= =?utf-8?B?aUw0b2pCTmwxMzdGYUtEaThReWJuV2VWSTV1aG1sUUdnWlZ3amlla3RVVGFH?= =?utf-8?B?UHlSVjdpNjJLNitpRjZHWlRGaS9USENiRGhaS0hWTjhmekNMVmgxczhhWUVS?= =?utf-8?B?ZTVDTDNtRWt0WktwOXlTU0JUckFIYXdmNUZmdzRyd1I4eGVNR25EelliTmZk?= =?utf-8?B?V2gvYVgzL040TUpGMlR1TEtNS0V5RWpHSWlCbkRzMEF6QithKytveFlWSzVt?= =?utf-8?B?NjhidWtTUzVDS3EzOVgwdW5vdStlVkhsSlV2dTM0QVhDSDlGZlJDVzB5STJ4?= =?utf-8?B?WC9rQkV6akRJZGd6ZUJ4Q2U1SEdVK3JKdjk4S3h4MHpTQ09RcGN3RkFYM01p?= =?utf-8?B?NUU1T2ZMeHZWbWs0RGVJaXRNYVgzMnR3REUweVYyaVRpWHNhM1VTUHBnUEFF?= =?utf-8?B?cEh3VFNqaU5lMHdqOHpyNzB4ck1zOVFibHlDN1dadThoenhZVzFGQ0ZUR085?= =?utf-8?B?WUVKTEE5WTRhWEVvd1R2UUJSVlNnYzhVT2JPRi9lNHBmNm1vc3VWTjU2Wlp6?= =?utf-8?B?ZzBUT2tvSzI1MjdWSURZc1VLdXM5TmhWcG5kMDRWeW1MMkt3YXFrcnI2NTZZ?= =?utf-8?B?UVhwYTZ4OThaREFpQ3lYek14SVZGM0NGb0lmaFF5QU1lTEpDaHdpbU00bFQ0?= =?utf-8?B?a3g2RWx5WExZZ09BRUpYbnpzNEN2cWkwUGVyakRBeVM3OTZEZWVCUTFIY2NX?= =?utf-8?B?UXlMNlo5cEJRU01GdCtrK213ZnhTR2dtSXUyL3NOcnlVVFFXU1ZQY05BNVhQ?= =?utf-8?B?cVIzd1g1M1NpU0hNY2ZWZjg0ZWhDaGZsY01PZ0FmWUFYMUR3YXYyWGk1dXZz?= =?utf-8?B?eEE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 2e38ccd1-4a95-474d-045b-08db04cdf768 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2023 03:31:27.1777 (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: tS82LtwNjXGpyuZZURJkkVh7JjuMYpVymdE7T9siJ5egTL57h5PTPFMXDboNrklW2BBiAltxUy2LlAW2xBIRmQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4679 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: rjmt68ykhqgadwt9k8uknnndygbzfto6 X-Rspamd-Queue-Id: C61D140004 X-HE-Tag: 1675308697-519675 X-HE-Meta: U2FsdGVkX18chPZplhlR29ipBiDnxWa+Tcqv77t+7R4cswaWlvuiSu15u7oYEhtwk6Cu1iuSZxlX3KphnhV0/apQzZyeJMuzqeKivQk0niUoBgbjj0osORaEGQVR6vPCW8fX9KXYipP151H9pBaIEjB7hQUKQWk/djowkfhwi+TgqVmNcubIbMP0H4Iushjvr1+ULgJsUjA5KAvYSWFxZS1dbjmElYBnLCFmJINTeqil0JyLOz9ww47lTLQePDK8J+b0EVlc0lu6vwtekBOkq5gZypjxRn8QH0wvKVkezBf4y01XaSoLsyXixSe6W53yOa7xsbFBItF+72qeLyE7Qsu2X/TMFbF6LdyG+HGISYnOpXQmL5R8bq33ab6ucVQi7fHrr+n6LeEIVfcuqw2nLXExDbPVZNLAIsQI0cu5b2Qg4qMjUy1FpRA5pwtVSh+gSxbgAnbG4FSHzgAR1iCdCZFj1V48FdysJ4U2x1I6ADiSYUsrKc84Y/AsADLczxj2PGVSBi3TmbnBeMlatpRmRVlhHUBnMHwimz4OhPcT8qfZibS+32OljF2VxVH/PSUVrRyAwqeu2vVkBP1r7N/l98lDhubn+G/wSExf403qt0y9VPnPxOLiJ7y5oPwgCa/SyouXBtXeOfhrBQNnx3fgfHAT7oZx/Vu9WhAThyLQm26jiHFWUIfj/Eh1CXjOXe+L19X1gKKVpxgOu3LLijOWR+7azlfJuWmsHEdVbV0BV9PLEKxBQwSUAtYpyLZu5BkYHnNQ36dT3Vz/rHHavlFtEd2GwC7WH++nNTKyG2Wy78A90A0y348VDSdNdDRYhKy6g0OEenUTKxiIq31dlPjeYc/zm2fhDhgrldKTnCdCNyjitaTBKkotIqmL6t0dKf8J7rVbK1PE0gxa59krR9NpWkqqfr7H6Pr1eBWJsNoYTABU8i7ycx6HeVTaZVb0KLW8pTBKQuYqKqjpoLQXUgW CP1hkgFb dsG7Sd6yGIZZ7TxRu3ZITZ61aJA4uMvF6BDCwMCSedVNm7Pdg+tIUwEi8D68g1exoAK5SPHUZiVDmvNNyZ7zC18891qOUEzOU4ZNFlJ1dXSvN6gXtKBIpDJNu4iBguz+9CMhlWiXGip20IY/Cp1tb6sPIU2St6P9RR+v4MTpbo7/t3dRb3EbQ5JcuZ/OJJ0tXfVCrrH0k7lb+CRzLTEPoDZ+9ihBPXklGd3PzgknmzdM+M6Ad9EYQ7I8pVrFwDkMJVYg8ryJiXK9KQwOOLlGux4DHMm/EHbzhGuq4rxS7DPsaRuI= 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 11:50 PM, Matthew Wilcox wrote: > On Wed, Feb 01, 2023 at 04:17:37PM +0800, Yin Fengwei wrote: >> Use do_set_pte_range() in filemap_map_folio_range(). Which >> batched updates mm counter, rmap. >> >> With a self cooked will-it-scale.page_fault3 like app (change >> file write fault to read fault) got 15% performance gain. > > I'd suggest that you create a will-it-scale.page_fault4. Anton > is quite open to adding new variations of tests. OK. I will do this. > >> Perf data collected before/after the change: >> 18.73%--page_add_file_rmap >> | >> --11.60%--__mod_lruvec_page_state >> | >> |--7.40%--__mod_memcg_lruvec_state >> | | >> | --5.58%--cgroup_rstat_updated >> | >> --2.53%--__mod_lruvec_state >> | >> --1.48%--__mod_node_page_state >> >> 9.93%--page_add_file_rmap_range >> | >> --2.67%--__mod_lruvec_page_state >> | >> |--1.95%--__mod_memcg_lruvec_state >> | | >> | --1.57%--cgroup_rstat_updated >> | >> --0.61%--__mod_lruvec_state >> | >> --0.54%--__mod_node_page_state >> >> The running time of __mode_lruvec_page_state() is reduced a lot. > > Nice. > >> +++ b/mm/filemap.c >> @@ -3364,11 +3364,22 @@ static vm_fault_t filemap_map_folio_range(struct vm_fault *vmf, >> struct file *file = vma->vm_file; >> struct page *page = folio_page(folio, start); >> unsigned int mmap_miss = READ_ONCE(file->f_ra.mmap_miss); >> - unsigned int ref_count = 0, count = 0; >> + unsigned int ref_count = 0, count = 0, nr_mapped = 0; >> >> do { >> - if (PageHWPoison(page)) >> + if (PageHWPoison(page)) { >> + if (nr_mapped) { >> + vmf->pte -= nr_mapped; >> + do_set_pte_range(vmf, folio, >> + start + count - nr_mapped, >> + addr - nr_mapped * PAGE_SIZE, >> + nr_mapped); >> + >> + } >> + >> + nr_mapped = 0; >> continue; >> + } > > Having subtracted nr_mapped from vmf->pte, we then need to add it again. > > But this is all too complicated. What if we don't update vmf->pte > each time around the loop? ie something like this: Thanks a lot for the suggestion. I like vmf->pte[count] a lot. Will update the code accordingly in next version. Regards Yin, Fengwei > > do { > if (PageHWPoisoned(page)) > goto map; > if (mmap_miss > 0) > mmap_miss--; > /* > * If there're PTE markers, we'll leave them to be handled > * in the specific fault path, and it'll prohibit the > * fault-around logic. > */ > if (!pte_none(vmf->pte[count])) > goto map; > if (vmf->address == addr + count * PAGE_SIZE) > ret = VM_FAULT_NOPAGE; > continue; > map: > if (count > 1) { > do_set_pte_range(vmf, folio, start, addr, count - 1); > folio_ref_add(folio, count - 1); > } > start += count; > vmf->pte += count; > addr += count * PAGE_SIZE; > nr_pages -= count; > count = 0; > } while (page++, ++count < nr_pages); > > if (count > 0) { > do_set_pte_range(vmf, folio, start, addr, count); > folio_ref_add(folio, count); > } else { > /* Make sure the PTE points to the correct page table */ > vmf->pte--; > }