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 D8D1AC77B7C for ; Wed, 26 Apr 2023 01:47:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4B0076B0071; Tue, 25 Apr 2023 21:47:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 460796B0072; Tue, 25 Apr 2023 21:47:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2B2126B0078; Tue, 25 Apr 2023 21:47:14 -0400 (EDT) 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 177076B0071 for ; Tue, 25 Apr 2023 21:47:14 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id CEC47C0393 for ; Wed, 26 Apr 2023 01:47:13 +0000 (UTC) X-FDA: 80721854346.12.A4DB17B Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by imf22.hostedemail.com (Postfix) with ESMTP id 9E8D5C0008 for ; Wed, 26 Apr 2023 01:47:09 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=eFKetaGf; spf=pass (imf22.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.120 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1682473630; a=rsa-sha256; cv=fail; b=B7PZo66u9BwSDSXSvyRa7gFTGi8MK3PFcPFqJnWgX6iQWp717Nwd/F66NbekwEEHE6mqIj aJ4QBVEKhadI4ojDq8AJFpmuic2/RzuNaI+BFE/93cKRVORSTaKkYymkFOwzXRIiXJKpjC OeS3e/asFfQiP6p9zj24Rz6iSyWWhk4= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=eFKetaGf; spf=pass (imf22.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.120 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1682473630; 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=ywb33E6mYIuk+tbDvs/OmdSQ61wDDuq6jutidFy5QgY=; b=6K6tAeVgwWYO0vFwzMGtttcN+fpWEl1yk3dU8RGEcKhzSibkorq82h3pH4IlXAGdp1vkYK dOge035iLOW6y+xnaz0m96MCt/3zZtZ8Q2b2l41UQ3OTaVREO9jOd6rRz69awiKPblrSeC bysCMLjBsztapRuHN8OeexVcadvA9ak= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682473629; x=1714009629; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=AGNru9SSpSVUqX0bubXv+QAsZcpN9JRVBNdupgtjcLQ=; b=eFKetaGfNVRtw0BOp+k1vxhHZEWPaB6kvV1Xo4/60x8jeezgV/VxJiZx CcpHIQXN5pX1G0Bj0Jt+n61Lzl+EocGwIEQHzk1Wq3aNEBuLNSX3EnPRX TyCaGMzyzuv9Q1Bztc3tuAauV6SuTF6gHNdrOSiN/CqxgBan7h12p4+c+ xgSddblEU/WvSaZR3FXLO+ABUydAV3DkisqCtwBGUKZu2zUUD104a3D05 86KYa9cwbekVIsQ7Tj2P/JNEVyqKY5HU4bMglA3yNp5fQcj+pulOaZGRR nGaKcSz1MK0aSL6ikQS+AN+PXywuV5S7Ltfqubi3XOeX3Wt3lXK1C89JD g==; X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="345711204" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="345711204" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2023 18:47:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="644049520" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="644049520" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga003.jf.intel.com with ESMTP; 25 Apr 2023 18:47:06 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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; Tue, 25 Apr 2023 18:47:06 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 25 Apr 2023 18:47:06 -0700 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.23 via Frontend Transport; Tue, 25 Apr 2023 18:47:06 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.106) 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.23; Tue, 25 Apr 2023 18:47:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iWAaPVeAmrHpq5j3DfW7k6bfpiuj4IMDXhsPm5GHbxZVNrRNlnSehfioRgsjfCHjUkWy8NTQM1uRv5c8Jp5OzBgxZ7kYTYUPQBl3WUaxAFzShFDi99TVpmmbAqmoYcydX56/lNFNZHkREkjpx/6aoZP+vOfZWm4TYfFcHH6cgnUNHoLxs/xFRZql01ECHJBnxKZq3u2tv0Wlz+jXXur6m6tS0rDdvm3oWdmdW/jpEEfBjDi7OqvpXwnurxazICMnios/33en2vZWkFb7KX7QRZBtXWk/Cpng2vpS+vtPo+0lZTEqPpre/B3hQ+KGlbYh1WD2rURNA6tH+kCTrIEi0w== 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=ywb33E6mYIuk+tbDvs/OmdSQ61wDDuq6jutidFy5QgY=; b=Yzv1pDieXSLQ226F4g3wtBnJDuAEFLhSDY1kGSaJ2bDL21HSmWxMczojNaQEuAtqhXkd2Wqa/UYgvxPCNRV0o/4gNr9oNK8EUv5vVs+GSh9gPGaf93NT27Xggrkr/Db20N9j2MU1VhGjKn2vTxE5XeqsD9LTM9oQ8sscFIHLr2P0fe6d5ocoSYM/OaiojpnbsQ+FqZvmq2hFLI3cNVAiSilI+nTpBKBWCXnsatOhwiKznzJhI8PKRctb+2NVFGHufnC0JbeyPVlZ9l1xUk9CLMil4gLrJq6Yd/pJnw8nOkNN8suo3BzoAIFH+M9qCPY+nMxaghFEpTp2oQrLrwPDqA== 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 MN0PR11MB6085.namprd11.prod.outlook.com (2603:10b6:208:3cf::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.22; Wed, 26 Apr 2023 01:47:03 +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; Wed, 26 Apr 2023 01:47:03 +0000 Message-ID: Date: Wed, 26 Apr 2023 09:47:01 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 Thunderbird/91.13.0 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> From: Yin Fengwei In-Reply-To: <20230425123857.k5mp2cdp5c6ldbrk@box.shutemov.name> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2PR02CA0048.apcprd02.prod.outlook.com (2603:1096:3:18::36) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|MN0PR11MB6085:EE_ X-MS-Office365-Filtering-Correlation-Id: 5a5a8c4b-b802-4222-e968-08db45f82278 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: rUQOUL+pr+zEFcJVnE5PuwCfLR7SbrcUlvzkM5yJgn31fQcCcQFYdZNpgopSg4dzRx+Wjhs+9MnfVx51WAQbjrEZMSi1hN4kH7YDKRwH++mAbYdd1/pz5hvvgMx8E2EliLl3wimA3OILScRT6GQlr0i/NLiDtHJ8gKfyDAJysmpStetJd4juaTvvSdRacNaHgcuXivehqKTILs7rUgCaq8DTBTjv4WgWPJmcxpUujlOqB0UFvimyp/+AHxtgeEOqXp6zIvKtHTu6qgWYFEFDHsDWZbi+BeqEdwgEWPKMzwaiHzUjiM5RIm6Cyd1P0s/8BXGwlBJytk+Cx6Uzse8HnkeQTBbJgDbv/iOTasxq5ZwUNC3gzljhSsSMhFdSkkgonJabXNP/s7wXC1WfWQIWrwczXHmGEJja/0KvxBz03YC3Se6XzxuYp/UM9XtT6cWNbcaZYcl/sbHHRKMsbi891UrupwTKK7g8N9gzQM96s9yk+5qc9IUP7+jkEIRyn7ZtufA4R1VHELFsAsQArz5PxyfiZ1FC/YnRseGk7qPtK75dYXv3445/7qykr6ZPjo6spMOAzU/qhrd/gqMRIKMFTdVBBn6+j6zSRuCtMyV3ydxvjRqc6AYFgB7zq/9QnqgnEHBrmXWDVIv/Qj7PSre9sg== 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)(366004)(39860400002)(376002)(396003)(136003)(346002)(451199021)(5660300002)(66946007)(66556008)(2906002)(6916009)(316002)(8936002)(4326008)(8676002)(66476007)(41300700001)(31686004)(83380400001)(478600001)(6486002)(186003)(107886003)(36756003)(6512007)(6506007)(2616005)(53546011)(26005)(31696002)(38100700002)(82960400001)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?elVuMXhHcjdrTXdzRSt1dm9ncjZ2T2lQZSsramtTY0ptb2lzSzdWVEJ6MVB0?= =?utf-8?B?b1dYK3JNRXlpQm1wWHpqblJLOUk5eXFxZEFJcVhUMGZLOStsbFJ4RFpudkZv?= =?utf-8?B?ZGFGZHNnQ1RQS1BOTVdjbUkyazZEUWtCUUJ3bDcvQUhDRkN2aW0wYVdGbk5E?= =?utf-8?B?bWtpN0ltbUNveWQyTVpKNnJXMlN5dkpveDgxOGhIVG9COGlXaXg0dm52VHhk?= =?utf-8?B?VCtpZEduWFlWV3BwcEIrd0Y3UmtwL01qSjhBMUFhMENXOFJyWU02LzNsMXdw?= =?utf-8?B?NUtVVUl2Nk5YVTlTemdjRU5vWFRvR242S3IySWhCUzd0VnRxWmNKeUJNelBi?= =?utf-8?B?a3NwcFNWZWV1N1VPOXhKeXRCRklZQXBqUGFQY3M4YzBkZ3hGWmF3QjVjYWJJ?= =?utf-8?B?QzV6WmVFb1hHT1J6NmZwRE1HNktITlZ5U3ZuL2FaenRiaUNDbTBBeVgwQSsv?= =?utf-8?B?Vm5mMXFIREhoQ21yYjdNdXZEMDRhWXZteEdkZGtlK1lwWVZUa2VPVkRXS0Y5?= =?utf-8?B?cUszQUUwU3VBZ1YxK0JOZVVkbmIwN0tHTmlackp3cXU2UUxHWkJReGdTRm1V?= =?utf-8?B?RDFSYnRCcmt4N3B0UTdhdEIxbzBxejFqalVzZ3hUaUZKL1RGNEVIYkVKTW1Y?= =?utf-8?B?eGxkYUcxeEwrYjlQMitKMlh1amNCdFpWRldOS3BPWFBJaDl5aFJ2Z1F0RmFk?= =?utf-8?B?WlQrOG80L2ppVElmSFZBMFFzME1HWDRVTzZoOEo3YjUzdGdWNlRLYmlhaEhG?= =?utf-8?B?MzhIbnBkaWR1USttaEhjS1d5dVBsRE1qL3EwMWdXc0NtNk9Gd2c1dTZYamtv?= =?utf-8?B?NkxWcndCYWhUNnVmODBqUGRvYWoxTHFRd05uVlF4ZlZjanpLSzZhVCs0d0dw?= =?utf-8?B?c1ZmNFVNR3MzVFhMOVJDbmlTUU0yMSt3M0loU2lBdVFUNnUrOW1BTWxFRks4?= =?utf-8?B?d2liUU1zcjh2MjNodDRyTlNaZW15TWRsbXJJMk1PcFlJSis4TzZlbmRlNXNa?= =?utf-8?B?RE9IQ2xOcUlQMDdSMnBVN25aUC9Yak1TM1dyczZTTHpyRXZ5blZENHoranE1?= =?utf-8?B?aHQzQXNON25wa3RjOW44U2NlbTl6dzA4ZlIyc3Zla0wvYU0yZSswZVlIT3ZO?= =?utf-8?B?Uzkwa2o2VXZ2UzBCSFppN1lBemQ1Mnk4S3pTVW9iUVdIR29Gb3I3anA3WlVR?= =?utf-8?B?VFp6U1VtZWdqZTlac0w0ZEpLUkkzSExnOG5pM1NpakxhbGZ1MWVVY1J0NEs3?= =?utf-8?B?V0JLWHZlUnFFRUFUOVFzeDRyYTdKVzdmL0VKVW5WY2xWVDZ0aUN5aUNDUGVi?= =?utf-8?B?MFZYWFQ2eStQOTdKU2wyWUU1SmN4K256a01jWHB3V2FoMGtFVFlWeXdzYlBC?= =?utf-8?B?ZlZjRllnWWFpQkdkSzFFUVlCYklWdWZ5emFUeGp1ejJpT0NvTjc5OVBTUlMw?= =?utf-8?B?eE9sVkxtU3hlOU5peDZpV1premI4U2JqWnQ0dFlHazhOQlhocGFOUGN6ZndR?= =?utf-8?B?eWdLUktCR2YyaWFzK2hIb1pJSVdDeW5ubWZWQlRSNW5Sd3VoeW9TUDZCZndC?= =?utf-8?B?M1N5VUNkL2lmM1Nac3FBcG84eDhjeWdESjZEQU1NV3RkUFI5eCtLOWVvdVdI?= =?utf-8?B?TWpYejJ0UmVKbE11b3RvalVjZWlkZ3BjUGNVYnZiczhmTkVmVWRyZnpkTnNB?= =?utf-8?B?SnlwNnRNeW5ZZlQ3azhVQUNWSEFyem4vVmhwQUNwZ1FUbWVuUXgrWHd6VE91?= =?utf-8?B?d3E5K3pZRTZvNE9SWUVuVjZnbjY2cG5zSVhNc0NzUWU3VEd3S1hqVkpCWmRq?= =?utf-8?B?WEkzSE93RHdmTThKQ0YvOHh1dC9oRlNSVHI1UVlsVzltdm1tcWVhNFh5WVNM?= =?utf-8?B?Sk9Ec3VEZ0s5SVpVeUFINzI0L0NQTjV2NFJaNjFwQng2RGtCNWNOTUI5OFFS?= =?utf-8?B?aHd3aTQ4Z0dGMW9sdjQwUHBQdFIxcXNFNzN6OUlwdmdtakV0Y1JtOEVsMUtN?= =?utf-8?B?UHVuT1NaVjZPNEtVZG1aWktUN0NiOURqTDVvNUltbnNWWWlrbG11cTlQeDYz?= =?utf-8?B?d2pxUllWbnFhOTg4R0F5b2h5T092OUt5UEc4cE8ramN0YldMajJmTndmejZZ?= =?utf-8?Q?zqRKIFcp8DUUCx6xFiOrr+ZWP?= X-MS-Exchange-CrossTenant-Network-Message-Id: 5a5a8c4b-b802-4222-e968-08db45f82278 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2023 01:47:03.8146 (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: gkiApoYn+opiVkhChmN1G30Xk4m69JfUCkKYkLKowHtkMT0US2Zc2mUCrd62eTFplhpIbmP6fjtu/GEpOp0nIQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6085 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Queue-Id: 9E8D5C0008 X-Rspamd-Server: rspam01 X-Stat-Signature: w4d1oeq3xdqz9n5r5684ww5paam69zoh X-HE-Tag: 1682473629-798564 X-HE-Meta: U2FsdGVkX19nu8NSEUv3bpqSPjv802ry/en1wIxnEXtEEkJeqMdO0WPlU9kWmwxLcLyD9daLNHnaJrkJQ8mY3VE5TxHo+EL4KvbfvOF/5s70TsVG8YXhHxcP5P7GQxm4ELz7UVjR+T+mcdeuCtYg6q0vQjJ/GXKxJa6J8wJGGB3VYfCEjfJ/LCQNJjFBKSe1HKVV+9siI10uDJ8yGAKaRQ7ujTT39xBFhQIUiELPx4s0bFhR8qrYgRzQRUAuYwFvNblTr2dIeZdUmd3bseO8O1RKs9bPTgXfw8x/X2FsHUiSSomoJsgXHLl5+DEDgi8ipWeo33wASqAlKJic0SgLYHb/EhhKmzqIKutGGcf2Q4T6dX1hSD5FS2QnEAPxx00YujiG1StdzJFP9H5jumwrn9kgXeE1IfE3791f4YvPkpnaPn124PkQ6rC4YA9s8/YcXJm+hUcszIxB+pCaaX6OagIaOFVGGdDhV3fc1njKO4BvbW1qJL4aTbt2aSJCrq87EjCKXjcZS2D3ZDlGNj1/nxkFhA6YdvaBrdovSjY3nIclAHyrNi37fofsQzkHUOV/08dJq19rmfC/s9+fl1RLqRPCKRctaiEf7vQQ3Ph02nuxa4AtarSXa2TuRj8ME6j3yj55porTwZazUy4A6B7YZNsyjf2NERKO+fCs+3+esvk8EH4lTclmevYEu+mFnOvtg6YSM/T0oIDhcKoXBq0XGZ1XoycWdNqN8XeUtposc8iTnAbH6VsUC6HPzIuo6KxTORu94zITH5HC5m3hCrv0gfeKLtzbHHTJDX90opt/oIfPpu7dAQ2loO9+J7GwWdsGrQiQBy7V424x37SsennWfsVVXV6igofTBQZPggDBdvw7Oe6H2LgJJ5suqvRJSEiXhopjsqfGOjwh1ACU/jAnn1k8XQj+CXMiCu5wRzFXtrGn3Ri3UJaTaF+OwG+20ON4YpBkjYd+lqRgUUa3fHh a1iVaLQD fWVQNDttK26HJvxGlBEuLC4HPBeHpKEvoLXK6P3tyV6OPrNSCZRx8nmrm9H8BpNxyYnNCHYmV3WG4kmIdqlpuQUrlgcaV9bQYb92bv5ZhFA3RUQHJx7fFfEMKKCn/EyptZF0Gu+f6EN0IUmp7h2HR6EJ2dk8AyZxl57yzvMy+c1oX4NLYqt90kBrTtTRdoTEYda/XKoaWH4axNp/YVdYF063srxVW9vKI076qAtBeOWNYhVb/TztgTBsLM3gTIqAwalgf2grQzv/7W9CLXlFaA6Ctx7VbLoNMDGhmXfI+HcWK5j2Hy5OnL9G0TFhW/WrBjT2IM642MC46Vukq3MxkAE7xbeGZNWoaMfHMZeGVVWRjXms= 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 4/25/23 20:38, 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. Oops. Will correct it in next version. > >> >> 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? My understanding is even there is race, the race doesn't impact the correctness of list_epmty(@folio->_deferred_list). - If the folio is not in deferred_list, list_empty() always return true. - If the folio is in deferred_list, even the element near the folio is being added/removed deferred_list, the list_empty() always return false. There is one precondition: No other user adds/removes the folio to/from deferred_list concurrently. I think it's true for free_transhuge_page() so recheck after take the lock is not necessary. 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 >> >> >