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 52285C77B7E for ; Sat, 29 Apr 2023 08:33:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BF83E6B0075; Sat, 29 Apr 2023 04:32:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BA7D76B0078; Sat, 29 Apr 2023 04:32:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9FABA6B007B; Sat, 29 Apr 2023 04:32:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 8F62B6B0075 for ; Sat, 29 Apr 2023 04:32:59 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 58B161A0447 for ; Sat, 29 Apr 2023 08:32:59 +0000 (UTC) X-FDA: 80733763278.22.A284992 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by imf16.hostedemail.com (Postfix) with ESMTP id A155D180004 for ; Sat, 29 Apr 2023 08:32:54 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=ZvBWwlwZ; spf=pass (imf16.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.151 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=1682757175; 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=uW3vmBsP/fBn+Ek1FQrojwPirBIaqdMB8ZKKU9+EFlU=; b=ZRjDekS8/mg7fKjaJ9qmf9yjZUe81R2Pmibnk8tG/GCjploYmno5GUVzb32pRe6LUYsItV 4W5psRbJmSzHIkMQuisqxFJNPcO9j5XIIH15zK+PPekKdMzJiaQpvuxRljFNT/El8Rozt8 H6F0jiCRw3oyqzwvVV35VCR1V+Fxh3U= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=ZvBWwlwZ; spf=pass (imf16.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.151 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=1682757175; a=rsa-sha256; cv=fail; b=3nFo1+Vo14cIpjBdRKwhXU9P2copjZvsZlhAZoxo3XAwjFmHKif8bOhMs5jXIl8qQhvzJQ V7WPL4kP3Hi3JeR7IZeI/DVDNvSbz51PAzifz5kYv5YZ0lg7HbL64Wd2jMfwxsl0mo/uzw m6XoghLxEHy0xP3KpARUDaSAgFGoAPc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682757174; x=1714293174; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=NTIckq3241Xm7CCS+lJeNLAQPr/pWKBBhIbPFJyJDuQ=; b=ZvBWwlwZoUuNowP3URBS5eMlktVnyyB+zer1ZUIjD6xFwyo/+pHi65VU eMpY/vW/ufYRWHVy4q1NZ590iEZhsRZ3MTUk6JhQt1wp2bOqFeAW00TY9 neClglFHUZES20Q0IqzYblv20y4rvnb79JVpKqlCahitm5MvPUrS0kjqZ mK1gAq/0Z5Vtc8Q9anC9d6YJSjK6fmHDm6YYGZ/aYVwXPYDaT0n464L5q fb4NAAYSsFBZxmLO4KG6591Og7wtLo1xVn2l/qoFoN1fbliM+wt60X8wQ 0IGtQbWbcF04WN9GzR5M5ihIdNUrdNOuAMVXXTCSxFa/xxiJuSiWoKqav w==; X-IronPort-AV: E=McAfee;i="6600,9927,10694"; a="328260864" X-IronPort-AV: E=Sophos;i="5.99,236,1677571200"; d="scan'208";a="328260864" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Apr 2023 01:32:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10694"; a="645452448" X-IronPort-AV: E=Sophos;i="5.99,236,1677571200"; d="scan'208";a="645452448" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga003.jf.intel.com with ESMTP; 29 Apr 2023 01:32:52 -0700 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.23; Sat, 29 Apr 2023 01:32:52 -0700 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.23 via Frontend Transport; Sat, 29 Apr 2023 01:32:52 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) 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.23; Sat, 29 Apr 2023 01:32:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I+rCeP5XQ2hgIi1iTM/hjEgoS95ljhlGteALmSetC67/VhznV4wtUO/gCVxIm50D/1rjRAjAfDOPTzpQ8Hev4ZEv7xaFe0qKbcfr6kvUZOT+QYBcf3c8kGA7kuk1MpGQjoPhHQxnP96eS2RmceZQCf0IX6lz02+ixw1G1b6ebK01CziUqcTANSfiHGYPAKvy4/XH/SP9UpFMjKbjqgmwtAElS7CCizrBxcXsb00rtVbJYqUx7u5n9NT/mzLSfbT0l3m/g1Li/Gzw3nj2q0EBsyizEvKynT5gCr8oKljbic/Hqo+XIRWWG++j5+xcTTTQ/TiSy+JdoMvxoqNyYLFxGQ== 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=uW3vmBsP/fBn+Ek1FQrojwPirBIaqdMB8ZKKU9+EFlU=; b=GaEZwbPizthbXbvefsVSoWuTuUVpyk/ud8dzm6FuWBn2Vylh0XSRaeAnwcWgxezb86VwcGy7J/paK2HUgd4KC1ZjSXkaba8HYIj9e9aXJaN3TgwBnwgNE28wPM3UGi2LtTPlPTv4lWbHOJU/9e/hcfM4984uKqbsUyDyTIM2U1OI8FYOf1O/1aCL9A3RMjteMWgl5OvdRAIFd5+uC+g7y8LgoM1q2bbywbmn27beDulfn2aaq3SuZ/sQINzxktKJtjZwGzXIk3CG5g5nTSgqDB31CenmzNUpbXqO9vDkFN2ltEPmY7S1vphUxwYByVD1/RaolD3U72LGZJMf5agPyQ== 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 CH0PR11MB8086.namprd11.prod.outlook.com (2603:10b6:610:190::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.22; Sat, 29 Apr 2023 08:32:44 +0000 Received: from CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::d1a0:743b:4659:b72]) by CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::d1a0:743b:4659:b72%7]) with mapi id 15.20.6340.026; Sat, 29 Apr 2023 08:32:44 +0000 Message-ID: Date: Sat, 29 Apr 2023 16:32:34 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.10.1 Subject: Re: [PATCH v2 1/2] THP: avoid lock when check whether THP is in deferred list Content-Language: en-US To: "Kirill A. Shutemov" CC: , , , , , References: <20230425084627.3573866-1-fengwei.yin@intel.com> <20230425084627.3573866-2-fengwei.yin@intel.com> <20230425123857.k5mp2cdp5c6ldbrk@box.shutemov.name> <20230428140236.czx5eii34z373jqq@box.shutemov.name> From: "Yin, Fengwei" In-Reply-To: <20230428140236.czx5eii34z373jqq@box.shutemov.name> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2P153CA0033.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::20) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|CH0PR11MB8086:EE_ X-MS-Office365-Filtering-Correlation-Id: 8c3b9d2c-37c1-44e3-c8ae-08db488c4dfd 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: zcF6FLqe6+Ig20ojWg4Bqhl6OD5ANfT4acXD8gWcNfjeNasOrYn/XFALq9Vm5W9xuyQpX0IAuqmtBT2mYC/KhmkeSlE9GBKpUkO+eGjEuwXpG26FaqH8uBJh6+UmS/UHtQ9aCtjoJqEZwh98fOEp/5qFoHpPUhp2XH5tWpNNY0F0iF4hjKsaEIEzaZUDliD+HI5tmfjw6l/uZIA/y0i4FmWWAEs5ZD1Fj/2SLt1b9W5MnMybmLWTGRe5aVRDmO5L3kAWfamWOH8j7K3TXKgC+HvbXh+F6Lg7wH3b9obAPWJgWrljMxP/ICVnVL4gZVvrFKLvyYIPLtIc6a61JEYSWgPtIV43BlZSWlZEWwP6NOjJHuF8ZszYyYuTlazRDJpQoLWcKtOmnhv6gsPn9iBx2ZuYKw+dfunCknT4L9JIURd+i/KNzzWqlVLvxrrrupYC5xtFxP01a2WGX85ck2We7oLrtqE603eg3B695ylwCTizbEJAYnMB/WHpRe+Z1UVup//79voYKnxAqZZc15J/crFSMyBa//1+BzUw8NWWHBi8D65e/tf7IDmYxiaXE0ymiddAP81goAklpkYv55pVN3jUMCLWrOruKkA4V4bLdNs37kH5LQO28oRGhy+EEW4uKhWtxmvRxQ9biQi79MNJ9Q== 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:(13230028)(346002)(136003)(366004)(376002)(39860400002)(396003)(451199021)(6666004)(31686004)(82960400001)(478600001)(83380400001)(6486002)(38100700002)(186003)(2616005)(316002)(66946007)(66556008)(66476007)(6916009)(4326008)(41300700001)(6512007)(6506007)(26005)(86362001)(107886003)(53546011)(36756003)(8936002)(8676002)(31696002)(2906002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WGxwcTMxOWNHcWppb1RIelc5clRsNlg0dmFBeVE1Z3ZiOVFDZk94OENCSHI3?= =?utf-8?B?U1hDbmJMZDgzRHJjdTJ5amJZTHRvdlZTR2p6QXJIOHJ0VXJ5ZFRUUHJhUWlz?= =?utf-8?B?NjBSbnFMZDM0cldCYlllZFk2Z2tGZmxldmE5YjVkWThnYkpmd3UvQzRqK1VL?= =?utf-8?B?aGZnQ3dHRGMxUTdlSldueG5lZUExdGY0U3JVMjllRlRDVWNPTXNxZGF3RE9l?= =?utf-8?B?VXVqZFIySGdJKzJTQy9DSk01R2p4RG9KSktreDE3ZVc0WFhvMDNtNDN3WlBN?= =?utf-8?B?UjM2cTJTQkoydzZsTFFqeXdvd0RuVjhYYlVSVDc4WHhTeklRNGhCQkxLRjJQ?= =?utf-8?B?M29GTWxsQUtxbWVab0M1STFHUDNCMXdORmVsUHYyUU5EckJ1TCswRnZVaHlP?= =?utf-8?B?WVdENUp0aXRyV2FGYXQrMkxNUzZselNxRnN0dSs5aWI5NmU4QzRYOUQzSkVZ?= =?utf-8?B?Qko1YmVxYW5obUtJWnY0N1hFSXVtc2NZd2J2dXZHbHF2blEyeWxyeXZCcnRz?= =?utf-8?B?MnRZKzZ1dDE2dkJ3d3ZmQXg4R2hwamJiLzhNVTl6Ly96MVdkZU9kdGMyaEh6?= =?utf-8?B?dEo3RkV3SXJUSVUvcFBnOFRVV25oQnBvYkRzR1RCWFlGZnBTeVB4RjNLaTkw?= =?utf-8?B?VmYvUkpPY0lWZ1dweGhOZXB6ZHAxRENtZElIbm5kYytZZUU5ck41YmQycmVC?= =?utf-8?B?bFFLQnI2OVBEVE1MclFoZmJZYzYxYVVmV1MwT2lPbmN6aFoxMk4weGdnK1BV?= =?utf-8?B?ZStWKy9oYWxZZitVM2RFbG5BSVRibW9teXltNXBEWU1PQ3lOUWU1alR4dGFT?= =?utf-8?B?cGVuL0pNbThhc2FhTmQwS1JyNGZ4dmladm4zRnF6MVE2NldlaGxKNEtOdFhL?= =?utf-8?B?K3RUbGVrZG5SZzRtWTluT3Y0dFVpU2JxUU9SNGhjUC83M1JpbWVCczdsVWFC?= =?utf-8?B?dXhuVkQvalVvdGdhUytDcXdlQmg3NXpwZUM4SHRyNHlkRTIwSDJocUxJMW0z?= =?utf-8?B?cmhzN0trT2RYTUxMdnJOY01NenpqMVpzbHRWODBKV2NZL3lETWRXNjNlNWhV?= =?utf-8?B?TWtEcnRoeExBWEZPNFBpUVZmLzFkWnNDNHQ3S05sNHhVdHJsY0ZPNkcrMXRj?= =?utf-8?B?cHlBa09BSzFuZnhGb1JObTcrektuYTlSQTBZTFJTMGYreXB6V1pOeDRza0Vj?= =?utf-8?B?TVVGRmNCUSsvSStLQnBqUmhDWktvVndCQ0tpN2VsaTVDc0MwNFBkMGx5T1o1?= =?utf-8?B?SENoWk95d0Z1Q3hmNEZFcjhLdW5XTm80M2U4ZHM5NkdOVmtvUG9GSm5yelpw?= =?utf-8?B?MFU2MlNOOFlIOW1PQWFySld6R2hFVmVDMXI1cDFRNkJvZ0V0emcrbDlDYmNx?= =?utf-8?B?MWtPcVN0dmNxNHVUdSs5dWErbndPbmRVQldRTTIweE1RRlpIc1QyT0tVMHBz?= =?utf-8?B?TlNNV3RNOC9wdVJ0dXUxcyt6YU93dDVDV2U3WnJZTjNBZ21ZaHYrSjFYUlN2?= =?utf-8?B?SGFDZ2I0NGtsc0VCUk5hblFFMFpLenArd0ZKWFFUaHF3cEJqL3M5VytrSita?= =?utf-8?B?QmwzRHd3aStqNjVPRlFNVjQ4YzlobmEwaWlFbFd1NGVqeVN4enhEQ0p3ZGtk?= =?utf-8?B?SjdYMTFzVlNtd3IvcEpJUmNCdVBLNllqUmNJc1VsM3oyQk9uS29hZk9pTDdX?= =?utf-8?B?WHhFQmxYWlhhSFBSeVp6Zzl0dGV4NUpZeVNzQzM2TW9lV0FqTmpIRWsrVUIx?= =?utf-8?B?Nk9ueDVMRzJ3NFl1Y2drYkNER1hGaGVCTCs4eitZczhJR0tid2V4NkpadGx1?= =?utf-8?B?Sk5WYkJaY0p4SFA0czJLVGYxU0EzS0xicFk3MFphTENBM3JvR3NaNzNkeXBl?= =?utf-8?B?RFY0bzRjSFZQMzN6UUtwWHZZVm0xWWtlZytDSUFuNU13ZFdPWmROenMyNjR5?= =?utf-8?B?czZaNU16b3Z3V1FOUFdvSFR5V1dUR3RXSEpKcjFBb0wrZytnUHVLN0phODQ2?= =?utf-8?B?UlA1VGF2OWtGWEV0V2thWkxZWFFVcXIxQi9yMnB6dFVJaWtiNWhzWjF2dVBu?= =?utf-8?B?eXljWTlXOS9zSTJydkdiTHB4MFNGZnFkZGFVd294L1k0cUgyU0xPZVRkVjEy?= =?utf-8?Q?KExIBl0dKwVxJ/S9ed81qNLOL?= X-MS-Exchange-CrossTenant-Network-Message-Id: 8c3b9d2c-37c1-44e3-c8ae-08db488c4dfd X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2023 08:32:44.6939 (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: Mle/++XSbP2ReqnDy1C3tnXgtxrZdzuXzteYbZ80elj1x+5P0GjYEAHnm4fasjiL+r+1hNNRKqWrRUn0s7XLJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB8086 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: A155D180004 X-Stat-Signature: 74qm9tsnqhhi3ds4cydmdiix9uxnkeu4 X-HE-Tag: 1682757174-397731 X-HE-Meta: U2FsdGVkX1/WZmzOXgJKvI2dx1nXwD9PG7COfHpi5nJOM9A9eI8H8XIvEysdJsxWELfG9XPOsDKa0i7xxCw0t/MTP7Ei5QkMSCV5yISY5tJCmbShci5iZ8eaLUh8M7ogBlPyRECahkgvkLlJdTBVnMPVDqatB62cu06itNKqTAkEuHRSiyRT6M3eVSB8TQeBH+DUdWqlJLIIRlW8eIWzeB0m9D8zY4CZW41WU4Y/REpizAxQPpxuroMsNerkgasX1C815+J8YejtdTY9IkIL9H1yCHySY2xhHYiV/hEKeVgohox6PZ4rYIx9M8hI5PraXcKqgn4l8DeYsCh6hymjEFEy4EFIpDl70K3YLxWCcmuzxwLGp3BeitUnGaxs3cholvOl3wrt6RuQX8T6WHpwEgHO8M2oFTpTDIZxGdhba4+RarrakbygSEVfeYgHgVEWmdY226rX5IGI4mWDQ6qQ43w4jKt80zBxaCkvUuhcA9OETnbVUJ2McGwJiSxm+iTJEdLn2ZnUiOdSHtKTdP7DjQ1jfYg2WjHVuL0hkR2RKZjvfd4S5qxO7+USVzwgEavp6Os3uq1rjLgeYxweLl3r9monnQ1JWV+6TCUKljFIMQ44u5oK1J0SaemKpXzh3K+0KkF7iVRrlNjLx9HRUErrxaVyHEcqKZU9SoPs3LJMIlSSTkGI0W/90Ut5oG9RV2/Q0eW6A74MbD+b+O5SI7wHWIuy1HUhTTGCKL3fy8M+qi4u7Jq0EZgGsxdSscMYNRMvqK4eOgVRbgs6MuY0Kz4Ju7nU/sqjNPUPYiWgwTqkxZ68oqkHolM1EGZaiI72Qc3h9JfeXmW4SmPKvm4uh8aIvDJf8NFfamiSHyXhaS8N9ZtCn70i1Zh0/D7Uekv1n41w1omPCGtn8cRj4QSraCq4YAMWa8Su39fxMVU1nOqICriukht5qOC37sJ+81D6gVolq+SowmAKMfk+VxeOUIO sfcAla8Z /iDeCc3Ty/gNdHdQ680fs4tsXMngRK+zkwybqRlkdYHV4BcdLAzkncdO0ADkmxo4YuKO/yBXHPhJEdPHvVNBe002zxmb3UL9dbov2bmRS7YpqbbZHePhiMjz4ZGXp9Z8skeZqpwpNls5FIvkK4nqSeQ0XJnU07gYjCVud+8IMzmnF2d8pJ5m4COPBYbXzfLAJm3R7KlFfCIAUzbkbYD9NRXVRyjHvVFBUOlmnahJDf7pETfiVDkM9C3b+CmX0sCYFTTbbQslEp4e1DXs9iOHB/3xgq5qdUW7J91Qe8UZsFyWRuZAoIoqYrtFAI8r6GFF0Rvl1EQOqzq9CUH/fk5QgUkDIzNbSylj7K+9Ggl/olJNFk/s= 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: Hi Kirill, On 4/28/2023 10:02 PM, Kirill A. Shutemov wrote: > On Fri, Apr 28, 2023 at 02:28:07PM +0800, Yin, Fengwei wrote: >> Hi Kirill, >> >> On 4/25/2023 8:38 PM, Kirill A. Shutemov wrote: >>> On Tue, Apr 25, 2023 at 04:46:26PM +0800, Yin Fengwei wrote: >>>> free_transhuge_page() acquires split queue lock then check >>>> whether the THP was added to deferred list or not. >>>> >>>> It's safe to check whether the THP is in deferred list or not. >>>> When code hit free_transhuge_page(), there is no one tries >>>> to update the folio's _deferred_list. >>>> >>>> If folio is not in deferred_list, it's safe to check without >>>> acquiring lock. >>>> >>>> If folio is in deferred_list, the other node in deferred_list >>>> adding/deleteing doesn't impact the return value of >>>> list_epmty(@folio->_deferred_list). >>> >>> Typo. >>> >>>> >>>> Running page_fault1 of will-it-scale + order 2 folio for anonymous >>>> mapping with 96 processes on an Ice Lake 48C/96T test box, we could >>>> see the 61% split_queue_lock contention: >>>> - 71.28% 0.35% page_fault1_pro [kernel.kallsyms] [k] >>>> release_pages >>>> - 70.93% release_pages >>>> - 61.42% free_transhuge_page >>>> + 60.77% _raw_spin_lock_irqsave >>>> >>>> With this patch applied, the split_queue_lock contention is less >>>> than 1%. >>>> >>>> Signed-off-by: Yin Fengwei >>>> Tested-by: Ryan Roberts >>>> --- >>>> mm/huge_memory.c | 19 ++++++++++++++++--- >>>> 1 file changed, 16 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/mm/huge_memory.c b/mm/huge_memory.c >>>> index 032fb0ef9cd1..c620f1f12247 100644 >>>> --- a/mm/huge_memory.c >>>> +++ b/mm/huge_memory.c >>>> @@ -2799,12 +2799,25 @@ void free_transhuge_page(struct page *page) >>>> struct deferred_split *ds_queue = get_deferred_split_queue(folio); >>>> unsigned long flags; >>>> >>>> - spin_lock_irqsave(&ds_queue->split_queue_lock, flags); >>>> - if (!list_empty(&folio->_deferred_list)) { >>>> + /* >>>> + * At this point, there is no one trying to queue the folio >>>> + * to deferred_list. folio->_deferred_list is not possible >>>> + * being updated. >>>> + * >>>> + * If folio is already added to deferred_list, add/delete to/from >>>> + * deferred_list will not impact list_empty(&folio->_deferred_list). >>>> + * It's safe to check list_empty(&folio->_deferred_list) without >>>> + * acquiring the lock. >>>> + * >>>> + * If folio is not in deferred_list, it's safe to check without >>>> + * acquiring the lock. >>>> + */ >>>> + if (data_race(!list_empty(&folio->_deferred_list))) { >>>> + spin_lock_irqsave(&ds_queue->split_queue_lock, flags); >>> >>> Recheck under lock? >> In function deferred_split_scan(), there is following code block: >> if (folio_try_get(folio)) { >> list_move(&folio->_deferred_list, &list); >> } else { >> /* We lost race with folio_put() */ >> list_del_init(&folio->_deferred_list); >> ds_queue->split_queue_len--; >> } >> >> I am wondering what kind of "lost race with folio_put()" can be. >> >> My understanding is that it's not necessary to handle this case here >> because free_transhuge_page() will handle it once folio get zero ref. >> But I must miss something here. Thanks. > > free_transhuge_page() got when refcount is already zero. Both > deferred_split_scan() and free_transhuge_page() can see the page with zero > refcount. The check makes deferred_split_scan() to leave the page to the > free_transhuge_page(). > If deferred_split_scan() leaves the page to free_transhuge_page(), is it necessary to do list_del_init(&folio->_deferred_list); ds_queue->split_queue_len--; Can these two line be left to free_transhuge_page() either? Thanks. Regards Yin, Fengwei