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 4A5DFC77B60 for ; Fri, 28 Apr 2023 06:28:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5B74B6B0074; Fri, 28 Apr 2023 02:28:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 567626B0075; Fri, 28 Apr 2023 02:28:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3BA586B0078; Fri, 28 Apr 2023 02:28:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 2A39E6B0074 for ; Fri, 28 Apr 2023 02:28:27 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id EF6A6402A5 for ; Fri, 28 Apr 2023 06:28:26 +0000 (UTC) X-FDA: 80729820612.17.7701AF8 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by imf02.hostedemail.com (Postfix) with ESMTP id 2F1478001D for ; Fri, 28 Apr 2023 06:28:21 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=jMoPpGTh; spf=pass (imf02.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.100 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=1682663303; 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=/1vnSf8TIaqjms7z2YnqKpdXA+e1kaMhuOvfB4MkYK0=; b=uYLwQBnNy/Ye5dgL3EMT1EVG7Ao8LCQn9KO1fi6kQ3HqHR43jhqOzrVjRGTOotkqP2S2FZ 6a1dC5lhsaQqWVL749Zx2AVzFPOgzdEyFAuZEBi3WI+yXtfJ5ix1vrEa/gM6h2D/iPkv3s 33Tu2onePfhRe8ecTxP/mzC/47/8xKo= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=jMoPpGTh; spf=pass (imf02.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.100 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=1682663303; a=rsa-sha256; cv=fail; b=2JhzEZpdwQCVCdg9sAlXhqrLJL6999knbwBxSdjuLnVc8opL74JJbgxuN7IeBEJGTUhEPp dvk6rXozzb1GcZdjAlSXuBqspwNpe0X7jMqud8Qu5w0Sdjw64lVQaEEb9umiSMrteXelPA Z6UqORlyyIsEEGfdmpzghkZ9JMtAdaQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682663302; x=1714199302; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=Kx02iyM5Ui3Igywgo/rahkiT2AkYA8q1kTjZd/JtKxE=; b=jMoPpGTh0G/kBZIadh/92dOLl4eGORjLhTd/wwII+JmidKFg47IoThzW Rzh0mmqlVnTchS7PU1rblgFGTHUPuke0OrER4I3zpe8UDgRo+9TwnulVs AEBkSpSlMUOWdE5Lpy0KZfSm94DftuFKLqqBCbWLgxvtTCUADUaVBjYnN kWy0V+ROZPkPDeDk8NwztG5fm/ugNXIAaIq6kZfb2pq+AlyODLkHDU46g tTuHe7d1JzDOzKnZ51vSc1FFC7IqBnrqIBjtSB/7drQR1lvNR4pwTwSLF yfDS/thWxuuee3iQuJFFxSHEwuVqPM5sjBs5uMlahKSXZ2SEPynVsxx2L A==; X-IronPort-AV: E=McAfee;i="6600,9927,10693"; a="413047141" X-IronPort-AV: E=Sophos;i="5.99,233,1677571200"; d="scan'208";a="413047141" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2023 23:28:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10693"; a="806260517" X-IronPort-AV: E=Sophos;i="5.99,233,1677571200"; d="scan'208";a="806260517" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga002.fm.intel.com with ESMTP; 27 Apr 2023 23:28:18 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 27 Apr 2023 23:28:19 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 27 Apr 2023 23:28:19 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.23 via Frontend Transport; Thu, 27 Apr 2023 23:28:19 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.43) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Thu, 27 Apr 2023 23:28:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XId1HXdhIPHEsvevELIACtXbixPSjrlwOhEUr1E/x+gIDX7zBJ6KkB806m/0y5yMM9yrM9ctS9XFgZ/wuN5+vGgYBRV3aGrlPgHZhFAkZI4jj697XjYSYNegyRW1XEhCAjpn9z07pMmrWhVWq5xwy8EIPDwfTgnie+joh1mMK+OvrxlbGIj0asZC/4AcAePX1Oum+gZK6xgDQgNPSK7lUF4YX4kltJ5bFfTbCLM6vnj8oRtBN+OFVIwHHgp7GjlWc26A0m9EUKyrIPMzLkqa2gsydLDDGHbBKlXy/k1I54GeLv9pjsvrA/WIjPxOtBYM0zorvFdUrU6yPf6cT87e8g== 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=/1vnSf8TIaqjms7z2YnqKpdXA+e1kaMhuOvfB4MkYK0=; b=Rs1jbSvzfLDOhFz8RvZ2HsTeq67TdYW8varLdnonazbkBxl8k9ge/x2V1RALTzGLPpHoKnN/cKqqaGX2T1Qf0pFDD4IMwR2zTu5KUhRGDRw5jEM1cx+7tjXzeeVyZtEQKa38gK1n3OnpWEgI99/8oXs1v/+oaITUZeRxIYnGKS5K9asuWjLcBraM31RthgXJYttEif6+DuJa7yfQOLEycXP7m696mr4Y+jCr4vkijocCXUCwh9njCzF9+sHKyTJAzitw/X/sH0cEa2EaiYlph/drg13uVDKvkjarRzP5ZNMlUIRqvBMHP15oilI3gHfjwenXBX6B/aOcgFrdQbSYeg== 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 SN7PR11MB6828.namprd11.prod.outlook.com (2603:10b6:806:2a3::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.21; Fri, 28 Apr 2023 06:28:16 +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.020; Fri, 28 Apr 2023 06:28:16 +0000 Message-ID: Date: Fri, 28 Apr 2023 14:28:07 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.10.0 Subject: Re: [PATCH v2 1/2] THP: avoid lock when check whether THP is in deferred list 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> Content-Language: en-US From: "Yin, Fengwei" In-Reply-To: <20230425123857.k5mp2cdp5c6ldbrk@box.shutemov.name> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2P153CA0009.APCP153.PROD.OUTLOOK.COM (2603:1096::19) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|SN7PR11MB6828:EE_ X-MS-Office365-Filtering-Correlation-Id: 27a830dd-deb9-4e2f-5588-08db47b1c021 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: PwNNLS+BUire69E//z8SphVbZiXud+/AbBWGd9gEoz1wjw3x7WA8NbZOL/JA7tlemcQ/deLwXJbR+OKku5LD3H3vdAITbHjakseSv1SFPTLfbt1p8eoUgn37CdKgd+UL7lfYcHqxu4Vz/VNmkPiGwjsKF/3+m1p3uQOFCI3Xa4xaOA5PJZjlUQKs++WXpL8wC/dNwt7fN1QlxhS1PMTssI8Vper4TBG9wfKKYeCKbZuB82RKCUYbyOndmAHRbKqyWfIO2zcIBdfVtj8ynFojzDykAXio4sIxM9ESrATvuxQ1hhX31sZBW5UdVpW9LkaI+CzYWk7MXt0EB3r1+dxuHmf2jrdnB9Nde494BXLRkwPPHXYkXj9r4rz9pYLBJEJgMWOF9fZCW7NZPc92EpusFdiF7xwQi9nSSdgCzDcbHtuCfDb64TOmuXuJDanCIJ7etNwnBuVBu9G5RtpJdkV07HjT8Ku24yApWLzkrbum2kKzb0v2WLo8Zvvdzvf76nu24Jfb1RMFmVqIwRjXdAI2iA6wXxE6wuGnzzsu5QC70xw1LyKoCAwPDNMiVeKtanvONppOwbqv17u0Trn1cYyex4T8D0bJPPyOJauB55GRWmM1u/YQgsy7aZ/03wY6pRjogTqpHdIEyB8qjqqNoa/osw== 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)(376002)(366004)(39860400002)(136003)(396003)(346002)(451199021)(31686004)(107886003)(26005)(82960400001)(6506007)(6512007)(38100700002)(6916009)(41300700001)(66556008)(31696002)(66476007)(478600001)(66946007)(36756003)(6666004)(4326008)(6486002)(316002)(86362001)(2616005)(53546011)(83380400001)(186003)(8676002)(5660300002)(8936002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YUdZL09BeWhZcDlJdnd2SGc5TWNOekk2RTlaYU1ycHFlMVBxVmJxampYWWpR?= =?utf-8?B?K2QyMlovTU1uV1NPakpUMGNuQ05RSHRhZnU2KytVdVIxcEhSS21FSVhkVXJr?= =?utf-8?B?RHNBblFEdXpRUnViUW5OMDlpNC9LNXV4Q3M0STdpOUdvSzdoQW5aZUgxa1VU?= =?utf-8?B?czF0dzV5eHByT0Q4UE5YNVBmSHl0c0U5ZXAzblNhNE8zRWpBc3Q4a0pvRldn?= =?utf-8?B?TVhmOHJUaERDOU9pR2w2SVJWRi85SytyOE44V3JuZllrbWRNcjNFSHlwM29w?= =?utf-8?B?Zko4cmpGb3EvLzZ1WVd4Y1B2ejkrYkpXUmlULy8vbUIzWmI1MEl3amFxeHZm?= =?utf-8?B?M2h4OTZBTDVWajN0RnpEZGFKcXpHb0s3SVpkTjV6ZnloaVZ0ZW5kdzV0ZlIw?= =?utf-8?B?ZnRkRlA1OGE5Um1VbFBDQWQ2K2JMMGUwVTVIRW1sa3NheHpzTjVlQXFBdW9k?= =?utf-8?B?VEVEVHFuSWc2NXlrMStZVDBGY0hIbENOZ1R2NnVCMnVSVVRoK1hFcUpqR1Y3?= =?utf-8?B?Y0hqNS9BanBndkdDSVhWNkI4UU1YeG53ZHJMVjNWRUhnQ3IvenR6T0NRVHFW?= =?utf-8?B?UTRiRDZ6NTRRVGJlWGJPbXo5ZEVhaWpJU2d6cy9lK2JxenRhMlhVY2FxREth?= =?utf-8?B?QXJJcldkcnM2TEhheWIvRVZxUWNPUWhIYVFCVmpJRFJqdWxTRTJsb1RzcDdl?= =?utf-8?B?YkI5dXJzRnZSRWNMblFuSGhRaU84RlNNVjUwV2ZNSDNwTS95bENyNTBubS8x?= =?utf-8?B?SjNVQ1lPS0RBNWNjVXJSdkFGT3NRbFpHRzVNaDBCM1FkVDU5Y0M1eGVIc0JE?= =?utf-8?B?cXNrNVVpZzZFWW5JcEdHQVN2eXNHSXYrZjZWTGFQSTZtSHRhY0NwalJkblZX?= =?utf-8?B?cVFSQmMxOVZzOGs1T1grZW9wL3hzZmovdVJudnFoVWxKeVEwbHBuQ2VEUnFq?= =?utf-8?B?a0lqNENTSVczVFNHaldUdWM5V1lLS1ZsOHFVQ2FJTmJrcWVCNkRSK2s4b1lk?= =?utf-8?B?ZlJQZDZWcEVZb05wY2ZyRlM1bjZsZEJKL2wrR1ZTYVBNRkhZYlFmS3FoeVRo?= =?utf-8?B?OS9uVWxNSDZMNGFwYWZiSThINzJRUnQzMktLMVV4dEZENzIrVThPazF1UmI2?= =?utf-8?B?UHE3eDlRSlJjL2l5TUJiaEh2dnQwVGt4djRGOE5HNy9ZOU5pazA2NTh2R0FY?= =?utf-8?B?b1hlR01HbFpTTEoxMFNZNzQxd08zcFJzU2JiL01JRWtLQnlUZkRhQWxiZDNP?= =?utf-8?B?L1pYMmUvL0s4YW1saTltZWZqV1pCcFpJSzFrekN5VWp2N3NGZjFyb2JlQ2JZ?= =?utf-8?B?cTdsN3ZOZGIydW5SajB5WlBMYitSM1FkdkM1ZUVxYzY1RDBPTlUzZ0FNQXl4?= =?utf-8?B?Q3d2V2FWS2RYRVRYelB2UkcwQ3VveTVZMDRKS2E0akJTb0FxbU02dllockFq?= =?utf-8?B?TXpjVFRPSVNaQWlMeVFzcXBSSHFja2pjN1h3SWZMby9mczMyUVpyVnExbTNL?= =?utf-8?B?TVhZd1pEMDVMa3V1anBOZit2NzFFdEhCblV4SzdYemJSNGVaMVUxcHZaM2tC?= =?utf-8?B?bmFsRDFSdmY1c0NpSGpMREs5R043NnAxWVluVGhkbDBnVjhvY0d2RmxzZVNv?= =?utf-8?B?Z3ZjanJzNVBEdmV2TXZjZysyTFBmelcwSHB2Z1Z3MCtTcDNPUWUyTUswMVYw?= =?utf-8?B?Y1h0aTZ4NVpWbDVNeGNBNEIxTFgxbVp5ejM5c1lsT1pvVDFrVWNHOFk5VGwv?= =?utf-8?B?ZVZzMGREQWdIZEJiL2gyMDg3Ui80M1dZVmVUMXRXaHBROFBvUk94aTZmdi9P?= =?utf-8?B?dGtoSlQ2NnhDYkJDbjZERVRrWkw5ekIrNmdJMHlHWDhNdmJ2dXAzMjBuYmV2?= =?utf-8?B?N2p1RHlRc2lGd0hYeHY3UnNUYWhiZW1lMm4xOEFZeTh4dzY5cUpPSFgwK0gz?= =?utf-8?B?MGlTV0E4NVg0czQyT3M3b2FDZWdwaTRCdGJnL25UcC9JdjNDVGUya0ZpMlov?= =?utf-8?B?S0V6NUVqdnJ3YXNlYUlwTXo1Z0thSWNyRUdNYTVHTnVib2FFdjdKRmgvUVRD?= =?utf-8?B?VWxmUW51U1liMWVTOG9MMFdVMEVHZzNCTlVLVlBPRU9WSmoyTXlZOE03Y1BQ?= =?utf-8?Q?8m/4gT9OX28Jyl1QdAyeOHotf?= X-MS-Exchange-CrossTenant-Network-Message-Id: 27a830dd-deb9-4e2f-5588-08db47b1c021 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2023 06:28:16.4584 (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: VohM+WfoX0dr94UvWEJ8np4Z1dl5r0Em4qUIf0NVKlJI6eq6sllQjhZjvgWHsyP1ucpdNrPzkgWHh1c6n8Nq9A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6828 X-OriginatorOrg: intel.com X-Rspamd-Queue-Id: 2F1478001D X-Stat-Signature: 1t8agwts5iwzxxbuxaeispmjiyqt5w1k X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1682663301-108967 X-HE-Meta: U2FsdGVkX1+RlojB5G5+x/NSc3cjhDl4RRy/55wfuupUydQ+5na6/qzrrh6P7CVlWNx/6hsKhOyCtM/K3T9eiE+PAsuUYuGVVWdldBu2rXseGE+FR5Xyv51dfrt8ZvPrpSEWO9XcrOlh07Ns2LNLjbcCcbC6rRB87adkq2+ZrPR4rDeeXa5xqXjy75LgNnJHKCjh74D4qptG5FzeLKBfyiMi5781hUayLl82hfgMWqlYMMa42QstjSdjG2uK1BOBExdEElQDLoDjMmE66W0Q632C2wQXjyWPZCMEfG4Prl7/cY9jslHHLfJgrKxX/wGvpXh55W+Se1fBm6quUdwhO9sVf1xKCysJicyarGS0LSjYdzoyS0DHfslEHQXZJSzuw8EyYzcHel63Cd3yVpQy7dF4mYi89PP3msw/xrwnNhBpgv3muO4FTrTTt6YbTYBOsclH/qSCZN3yHY11H43cpI5G7kEvr5xTZZ4+W1PNz1SXFF6k4aNYnN6CpotylvzhcT35A+zZ9+vBlbScI/95UCdiptRSgokJN782cVcsaf1iS7W5/ITBual92pbpp7Q8DjSttow/7PMZE2vfbraV7cEgPKngHmoyHEXASk8rsHt4ONc4QvVfo6mqvA1EBPxr16EFoQBgCTDn+JK7DXVQn9uF9QZ9ToTXBYJaa2IGcxv0iKIZek6hBDnCTBdyysopC2+ZEWtODTgaedt1FlrsmhoMATPOpCQNn7HY4tYf+Ove3BfTyOGw5NLyodjnlCG8Oc87HpQMj5exiPTQBHNthGKdYOTCOwtyIdlcO4z14DdPNcy4mpIOQTb6gTLubcHQyGJuZ3/KHo3Wl8siS+ztwkMzeInMVn9apZ661ZGgTzzkdZpvrsc7U8cievJun5MSrqntlVqQ5lrEJC6lPM/DgiXplD5A8PNomojYybl0nQ1TnBSgeV+M2joGD5oZw1IydoXuRSxAj/XVe5hoCTG j3B58oEG jWKvwc+0fhOhcMmPNvDWHBRGUY5yoiQzvc/DUSe6Nafh6RoGgzepKxL7qT97VbEA81vmFjkb+g54I4TWfcrTWZn6YI0CMTc1eSkhwD725tD0Py231OBSsMkybW0FcL6sZQawcF+PzaGRnXfFHUNAuAc1jbNvU82cPk5aUUkvItrpm9Tyeq1I/5yr6kVLb85XdJ6BevlBMyjpHH3UPzuIOR73KYdFpq18WK8UW9ADXIHVud4yQSyF+/NqHZuc4CQ90OlVrbhUQzGiWcdjH3HTra7HJ8hkjGsntk8bE4EfEUBPm+3PtbcO70ZzL8l6Qx5lDobczWPeI+FXHeOtinmCnguJmEnvFrGQMtzw8tH6VLlQfG+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/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. Regards Yin, Fengwei > >> ds_queue->split_queue_len--; >> list_del(&folio->_deferred_list); >> + spin_unlock_irqrestore(&ds_queue->split_queue_lock, flags); >> } >> - spin_unlock_irqrestore(&ds_queue->split_queue_lock, flags); >> free_compound_page(page); >> } >> >> -- >> 2.30.2 >> >> >