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 01BF4C77B61 for ; Wed, 26 Apr 2023 02:08:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 767466B0078; Tue, 25 Apr 2023 22:08:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 717826B007B; Tue, 25 Apr 2023 22:08:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 590BA6B007D; Tue, 25 Apr 2023 22:08:19 -0400 (EDT) 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 49E316B0078 for ; Tue, 25 Apr 2023 22:08:19 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 08C64A0443 for ; Wed, 26 Apr 2023 02:08:19 +0000 (UTC) X-FDA: 80721907518.04.AA37510 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf15.hostedemail.com (Postfix) with ESMTP id 632B8A0009 for ; Wed, 26 Apr 2023 02:08:15 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="WVVUU/o9"; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf15.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.136 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=1682474895; 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=d+O5qG1pSf7KmyGJ8uAlMxB4cfBclIu4mIimTZBTzzc=; b=Aulyf26lSnr2/8zmu5NGb/rvXee5Iz52U9BsumEyU5okMEDRc2HSqw80OyNTRvYegNGRMj 0xUT9CjiSS1/LydrWbJN6MqjQNLr4Lc2j9BYbpdVeL8WCtiOyXzdpgSbp8Jph3h+/PCUgP OeHgG23AzPcQPUEss0J3Wn4gGUYcFjc= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="WVVUU/o9"; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf15.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.136 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=1682474895; a=rsa-sha256; cv=fail; b=QMd4WGXRYT8wLZZMRcKtVlC1rRx84GDHBenSF+CYlU8ZDaOJMLwxPQjQfy5NV3AHrco+dh 6QpHg64GhATnyD+Nh2uY6NLdYsp945ahso+73Q/E1hJLUoPVFzfhw6sFDEgE7bEmE+iY+D rN88EwgmlEnYSjKIhyPS68bzIMFxC9c= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682474895; x=1714010895; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=fJv0z8/jy74H+6JjJZZKG+W+Gz8dfMEn+aaOVNxJPnA=; b=WVVUU/o9QWoB6lYFT5+BfvI9EHnWOQclrvnlkpgXLBmPvTiaTudMb649 uL57lzV+0zTSPUJRTIN2zdyifOovwTVlqJhoXjKszgKFvzRWuWro2vmih NOtuGNAEFz5Ep00+dywVlKwGdv5UjIdDCJL00jf/kyjl+FZ+nRyKrak4W tvO/h6dtk4UrozRSdgc0XJ9XBz1FSx4CPXdDyJawqTkT2Jb8wULHFypxu 9Y7ltTv9u8a6vNYgVCbMeMkbjwDl9wp4f6lKxU0m9XYngA7rVPp1oyywZ /yn3gejDbt56bOs8+4h3gcZNom/z1k/o/dFb2M9WEDpxnj+y7sNUWxZoZ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="326573778" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="326573778" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2023 19:08:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10691"; a="1023406071" X-IronPort-AV: E=Sophos;i="5.99,227,1677571200"; d="scan'208";a="1023406071" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga005.fm.intel.com with ESMTP; 25 Apr 2023 19:08:13 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx601.amr.corp.intel.com (10.18.126.81) 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 19:08:13 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) 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 19:08:13 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.46) by edgegateway.intel.com (192.55.55.70) 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 19:08:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aSclFKxvbfuwZL0e7AjJU9St17nbExWN+vw24TywEvTKsEDKkhMTauAam5sny8/XItPyCKf3M+19zfnoW5DWleyK3Ex0RBf4ekpxpSf5CebR2jurE3+036qlNS/NTFaK48jvHdoK1/cRqxgZYHoB5J6MGRooVhq7jTzIrkuJRLk1Z153MKq/TIcCMZvxomHIo2eaMHuuA98fu2aZlwom1CgWuc2rBrQZKo2isSkZNd4AaQu+Bnu3DwqgGFbz6yUfr3X6T4cerk9/fKlHIuImo+QgiGTWbd+146Xr0rF7H8JKcR3I+r0qzHBX9p2szIpqMY8w7cNVlIU1hQCT4jA5BQ== 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=d+O5qG1pSf7KmyGJ8uAlMxB4cfBclIu4mIimTZBTzzc=; b=ANId8pJAb1xLiUi+9pMWElvHvcENgIF+341y3fvqxdzsapxML43Qu+UrexxZyqWxYcKCWo2anh/d4vYSBgCbeDtFAAkQye49TwT7VIDZsD2vjfGxGgE3YIxsZpJCqwXuuPVMcAmJENH5tN9OlDtxJj/mafa6/vb/yFNZ0I3K8QfY7jvq550wHkzJLZ9LwlgJ8vj0u3TwgrE4S4sQGEcYs7PwGN6AiVhFjBll5FIBcDp83CpqG4yDUeoLEkJQfBp4JoMrGmhuDdkuawz3T5nAc05294WvK34uQl74Hxj9zEcKwLL0yVMfCkKsbA3eXwVjECLQOWWRvfWAviDs7+zWtQ== 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 CH0PR11MB5219.namprd11.prod.outlook.com (2603:10b6:610:e2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.34; Wed, 26 Apr 2023 02:08:11 +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 02:08:11 +0000 Message-ID: <06f01cd3-9e9d-8748-4fc6-c36b706369cb@intel.com> Date: Wed, 26 Apr 2023 10:08:08 +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: SG2PR02CA0104.apcprd02.prod.outlook.com (2603:1096:4:92::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_|CH0PR11MB5219:EE_ X-MS-Office365-Filtering-Correlation-Id: 57f35eaf-7f6d-42c4-54fb-08db45fb15ee 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: 62UutSeVQaESJuY937zwWCcTY2yU9sUjYISKyCvcTl+MP/LEfSEq3BkqiIV7tGqPiUHMXZri3hy4U06f1Nj+9K7JRxhw7O9x8KRzzeB062rYrXgodTd8x0S4Ju3r/hNj3b6/wwLo3b83/ZtoMRUzie7OOeMEsrSah5rRvNFCD/jnPU2hJ+KESA2zeX64AqN0+hayfIfDAEaQwCp88N0bYDlOHeaVHiiestuAOVAVhJ4+KEhp9iHpvSkN7DAtCAhl27tAv3k7DFt3KuKCN7fSX6OT1mywY8YaW65+2HzPyQw3YKRkpi/Cuo/2q0fG5TWP8PZWJbe4a2q4GLpXxJMA+CRb8EJmaTJU/fmEsf9ldV/PUEwyL17c1Bts/dg8dllrkRO4QhfJ+MyHhNLxs/ND5fFcx/pe+vEO5wTmBTLeNrHAPQWTUyA75k+uI0TuqBbZfv9a6fT/Mdzo0gUWuKQVPkGdQl5trhzLa09hZ97iY/F0tPmgBp+qVcO6RvBhrfQwrWiwVXIDBySaCO1ER4I0i6eaJJp6eqhhFrFEXmSaIWpJN71YKBB5EqZr/AuT3hNYsUdDtKgGKTNcH+SZtTPu3Wy1EING7SDsrRmFwSi293YppPouRdBR7XqII6ZQck8dmUXcKn9tugf2eN+FvJ3/AQ== 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)(136003)(366004)(346002)(376002)(39860400002)(396003)(451199021)(82960400001)(316002)(4326008)(6916009)(38100700002)(41300700001)(5660300002)(8936002)(8676002)(36756003)(31696002)(86362001)(2906002)(66476007)(66556008)(6486002)(6666004)(53546011)(6512007)(26005)(6506007)(107886003)(478600001)(2616005)(83380400001)(186003)(31686004)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UWI4SHJQZm9QV2lVL0Foc01uMFZraHVkcDBySGFGYnpHeWJ0alZ0R0pWQ2JS?= =?utf-8?B?SUZEY1puWG1IdEwzY3lVdkJESCtoQTJOTkFEbzg5ZndjQXR0VWJwTVBDUFA2?= =?utf-8?B?MUdiMUYwZ3N0UHZta3h4QjhLbVEvTjFZVUdJaWtOM1piU1VCd1hFZVRlTXBP?= =?utf-8?B?bjZqdUZGZ2FKUDNXZ2ZWMWVNYS9rREp3K3Z6YnpZYi9FNGV4RjRiNmZIMzdF?= =?utf-8?B?cFdPK3FMdGtxcnVnZ01ub0tWWmNqempmYjdoZDJSNVNuSGVPN1Y4SWYyQUtS?= =?utf-8?B?aWFTOTFqOWUwYnJXaHRZYU4va3RrWDZxVGRxQ1NTM2xEMElDaTJGaVhmcUJx?= =?utf-8?B?eUs4M2pCQkFrZjZkVUdEYkU1QXZGU25DRHpyUVd2enJ4S3ZCU0VFV0RTU3RS?= =?utf-8?B?emZLVU9lWDNCVFY1bXU4ZWpVUTZ3MVVrMHZmRXQ3V1JoU09VWko0SE1ibXYy?= =?utf-8?B?ak5QbjhIYktzTmtaYVRtQmcyTXhwSWhvMUtmZHJ0N3FwWU9YbmFHMmdrVjVS?= =?utf-8?B?bys5bzI1WXpFZkVLNFRJaGlnWi8yc21NbHEyZElQSkV1dkd0eTByaGtVR1pT?= =?utf-8?B?QXU5a1FucURWSjJ5U1pvbGVtOXRnN3ljSWlCeHhvKzNlMmNCMy9mWW4xUnNN?= =?utf-8?B?TkhMZ0VId2J5UGlqYzFJMWc1aFJaanZTMUV2TkhKUDk4MG9BTkJQclVZUDdz?= =?utf-8?B?S1dOclFDY3JFYUs0M2FWWDl2LzVoZWxReURDQ1IvM3UxaXA0dnphQVhob2hC?= =?utf-8?B?Z1AwdkNYQnd4eVNIREp2NFlsejl6S3RkODJ6bkpnVFdDV3VTVytKQjVRUnF3?= =?utf-8?B?SlR6cjlWTEpCRDJtNGtuZzBQZ3dlMXBiRzhSRjBTaTVxOHh0YWNZSmdQM1FO?= =?utf-8?B?c3JLMGszdHY2OGM2NEhUNDcyTzY0K1dNa3N2ZHB4aFNuMXphSlVhWm5SS0My?= =?utf-8?B?MzM5WjNJc2xOT3k4ZHRZRnhjZENDazNqbEp0bE5hcVJ3cksxa1JSaUxucFZW?= =?utf-8?B?My9PL3JjWmFCZWpmR2VsUTZldzhoTkZqUk9zT1FxSnhjNXY4NlZCOVVRdlFh?= =?utf-8?B?NzlFWG5lL0tnbW1lUDMwenN6VVlMM1FGYU0wRVJJak9iazYzbmdhaGVQM0tq?= =?utf-8?B?NmpLazF2Y2NoUzkvWHZwWDYvWEt5emprbENzNHU2Z3V2dkpYSkNlSmNuV3Vu?= =?utf-8?B?Q3ZoK2orTjl1QXdqZ0tDTmY3N0xsQ3pEbUtKTGx5Y0JpU3UxcjFJRUhUTmUw?= =?utf-8?B?RUMraTE2bzJQdEkxMVplemF4cmd2a3ZuSFhiT2RXT1ROc1dhTnJ6YVo1dy9v?= =?utf-8?B?YnhUOFJiL0g1QTBpSHZhdytiWkpBNExST3JNWGF2WUowWDFOUmdBRG1pODUz?= =?utf-8?B?WmQ5R0dYY3owWXIvaGlXNm4ydFNSWjlaaUJnb0hFQjNCZ04weTcwT0dZd3hC?= =?utf-8?B?ZDI1L2cwaGU0aFZTYmw3dUxOZk9KRDVSdGF0WVVCN3Z2TGdrbUVNM0RlZkRP?= =?utf-8?B?bzZxazdxUTBXL2R1Qy9XcThXcm9ic2NLT3ZPSU9pdTUyL05OSloxeUxLV1lj?= =?utf-8?B?VEpVU1dMdEVjM0xGK2tRaDBIRkVLamFGOGRZeEl3MnZXZ3M3cTlqcXZWYlNG?= =?utf-8?B?aGtudjBoV3YyS0FWQUJjVFdEdUJRNUt0cEFYcGw4ZXdHeEx2L2Myd0JjZFV4?= =?utf-8?B?c2N0WEI5Y0IwVGtsLzBlNDFaVEUyeEJxZzZGVW5uOVRLdEVBYUdHT0RaOXZI?= =?utf-8?B?TjhJNk1jSXhIRVlsTVFwRHIwRUw5K2lBK0h5UXhRaERzSGZFSGJScjVsUW9r?= =?utf-8?B?MWhJWFMxbzNpWmNhNi91TG9IQVhSb0djZlEyUm54NWRNUjFZYVMxc0I3dHpC?= =?utf-8?B?MDF4MEFzTHV3eU5MSEZGQWdNWTlYbkt2c29UaXJ0NTRLMG9kR1hkc214S2hN?= =?utf-8?B?Y2tkeWI1UHhIUkJ3REF5dm55VmY4VXpQcXJHS3RtZzQvSjlUTGV5YjNvQmlj?= =?utf-8?B?WEZ1eDlmSzlRYXdMeE9HT0VPYjhmR1dXbGxvdEFDeWthRk9GV2tkcFpZYlYx?= =?utf-8?B?bHp2YmgzM1UvblAvUmpWRjBGOUJSOVhoUEJOMVpVOWI3b1lCUHM3alJUVFZH?= =?utf-8?Q?fYPUKFY/fFjlEoKRmzsDzw3PT?= X-MS-Exchange-CrossTenant-Network-Message-Id: 57f35eaf-7f6d-42c4-54fb-08db45fb15ee X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2023 02:08:11.1243 (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: 1ln8/HiJRxcRF7d+ker6uR4ymNmQ866pqX+hO8mjo8NmYqMR9v0y4NT4BHiC04j03OUNB8bjLoSmUXuJoclJAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5219 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 632B8A0009 X-Stat-Signature: 6kbgh9y8ek7fx3esj45xxpg3ee7yt1u9 X-Rspam-User: X-HE-Tag: 1682474895-437781 X-HE-Meta: U2FsdGVkX1+iJvCyYobJ9Drv8kXuo4pZDP4s4UJyn3F6az+YGmUU0GbRRA0BWVMNGPHjjR0IB2vUh6Ln2RwSFC76MdoE+dYYXhujFxY7kZSnJKWwa0IVcMgFu/Zp3QhnWH2YlJjbWxvkQLZfTA1ZPkHXmXkiMyZGU5SjHzseC0/itCv671ZwO+8wEWPrRs7MdGpD/4PL6bh6sfwoy3ThyLx9ATRsJlE2VsndnJ8E3q7v2sC2HJbwPYShponaezSTS/XpJN1bd0oMp32a4AmJxqTKEjVeDNm6UpsNKtvSLYxN1Ki8Jwvi/bNypdy3F58w3l0kker+SH81Odc+3kY/Xo3yJVATd7wjoot3IVraGKtTwBBrCcSHV40RUGfNdOrBTT6hwop+QEzXTju3cl4AxmxIh3vUYImAOml+P/yGPZxAFBFqkSRcTbHvr/0XQbCwtRk5lV4T1m94DxTJLnAZj34jwTFhFPK5Va22si59Pj0lu+jTUe0mig4CqrCdOK3ccczaAoXBSSC2GHlkIzNqPdM2AiZBFilqDFskvlh7OtyAfeBkeGrrwClf4DwMfmNVWgFjoYkmCSXPYd3FYeufdrukwt1kOtsg4+zqya7IzmjZkwBQEZb8xLKIRpm/SGFqpaI20XCFVk5VvT824kwJrXq3lgK2TzK5NInynnpHq/M8hFs/dVNoJemMFSsAiNL4tQrZGmCKW7ohT4VqHzq131EY9IDe6cv8u+gyiFfd1U7rMPtbv1ZkiJun9jhEsft/EBYu/f/c2mqll5bCRMUyBTmxid7T4u2LwP/I1XRDekOKAjaIw/EPnVu7qgmQAr07RBEwkvgJoyBw5X3hVgoUE+x8PU9DBwBgQWgDl23X3QyfC2qFogADCrXaaMl5YnkmzE05ypVpjU2sVbXPgdwC7qDgI2hok7T+/rTf50Ar98nLNzsBYmHsgrRUy2lnKet/yhviOPUFznRBDtpl3qF 5dv3gzN8 Ym5KIgzp/R5RMxHsgrus4vcq8iU4+HKxDv/Q4rPEDzGhoF7TN/2DN6C79+rhfN4PFAlJVtY2vUnZEEK8SGyX+RxURVFaa+L0cCQJW4kFYyNs8+vpL5cZedGRPDZG3qGTCeaT/ETRreoGzRT2h5VNSwtEUYm/Q9zWsCS2d7I1nly0ZkzelyGUJO6j37L/g0GpPSLCzBFKbRApXUxEO/AOg8lDX90loMnu16nV6BH3oG0JvflQgWbPuvUlfYrFLRPtUTCxuXMEoNwbdCB6IcE0fMW6M4jUK5NMhtEKjeVk71brB4TpXPkb10/xRvePwK5axP2eKqpqiYf1ubXmWaqqwO5XmLXVDuXHLU7bH7f6hEr2ky0k= 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. > >> >> 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? Huang Ying pointed out the race with deferred_split_scan(). And Yes. Need recheck under lock. Will update in next version. 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 >> >> >