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 695E1C77B61 for ; Mon, 1 May 2023 05:50:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A96F4900003; Mon, 1 May 2023 01:50:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9F78C900002; Mon, 1 May 2023 01:50:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 82322900003; Mon, 1 May 2023 01:50:42 -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 6D436900002 for ; Mon, 1 May 2023 01:50:42 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id E007512089A for ; Mon, 1 May 2023 05:50:41 +0000 (UTC) X-FDA: 80740611882.10.AD772A8 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf07.hostedemail.com (Postfix) with ESMTP id D43A540018 for ; Mon, 1 May 2023 05:50:37 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Y9ERlOub; spf=pass (imf07.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.136 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=1682920238; 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=l//o++37XpgXw0GR/R/t3HRlLebdVAwsKRzXEa9GC58=; b=RAUU0HsjSOIbj+f7IM7nA+tyeRBpLv2h/gihiFftZTiwbnr9sOALfhqBbR7wAkcvQNCnTS GK6PM46/zqJWaNcSdKVNtjSpOi8eVTJTGVIDt2BNvbNV9fIfSfn876dGHiuHHaVKjR9ol+ dChuWZ40J2shcRxidAEfozp3CWkqJSk= ARC-Authentication-Results: i=2; imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Y9ERlOub; spf=pass (imf07.hostedemail.com: domain of fengwei.yin@intel.com designates 192.55.52.136 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=1682920238; a=rsa-sha256; cv=fail; b=l0nVEKBRkcSPQl95XsjiFJVAMIpTK/gejZ4SQOQkrp1V/q1us6mWKY97JCLRB7rypUOzWn rfTuBRDjoI4OrRCXc9nYnPcWE90OYKCL1B8/zScV6tk0ZAvEdhuzmob0UEZuxfEok6PVmH tTdY/SINLxB4QwOq59n6cefnE3LBL08= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682920237; x=1714456237; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=ffbxeT17OhswQlBC/tXJuJvJJTEKCSpdsPZUDek8IM8=; b=Y9ERlOub8NFVXGWRg6ddeB+T6dfAWY7JVzL+Ta/n4+HGxQpeygAzzvhZ WsBUmj2Drr5kQXtHBUBNANLoVoDcqT74ULRbRI/BkXCYkTbDaeDPrDkHp 4MESHuD45jIdSMAsdcqtjRnsWHx4U8dVyE1YfFsiXIn5Eim4Fttc6ja2T NvU9Q/FZAKO+8fngE0nivUZ1uiZLczAccL5b0DQWPFC2BOuMIMbEdlfSt fCvaE2SGW9TbEIIkkaJ95X3BJgY0/O3QraAW+MsALIoiSvJJvoSTqO7Ly rS3r10tGuwMm10xbW8ozUFCUAHACBizVSaJYHRWnS0j2IcQf+aQazaLfB A==; X-IronPort-AV: E=McAfee;i="6600,9927,10696"; a="327722190" X-IronPort-AV: E=Sophos;i="5.99,239,1677571200"; d="scan'208";a="327722190" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Apr 2023 22:50:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10696"; a="941935739" X-IronPort-AV: E=Sophos;i="5.99,239,1677571200"; d="scan'208";a="941935739" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga006.fm.intel.com with ESMTP; 30 Apr 2023 22:50:35 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Sun, 30 Apr 2023 22:50:34 -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; Sun, 30 Apr 2023 22:50:34 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.103) 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; Sun, 30 Apr 2023 22:50:34 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k8rgIoUst8nhxb5VJGv4+9ahFJda4SLkmzwq/BSkjDmABc2eIliq9q8lVFlaHziaYgcGRiiAV35jRE1Fb1YQQfD60FpaaOB8RT6Qhs6UiUcK1ZlOXk4JcB9kGqalDQ5NSzzPjWa0KU2sHhdDDFmpbVd0cf/Kmf236sgBjDBU6RSzKWR9zn5nlIsxdhX+all9K5fyvVsWuGu+Hhfo4DLQyILv4He6Km76YEiHsFsg9VWPWlcmgCf5SEgDYrHb0EcYbcZZBI8gx6Izip2aUvqmhJgJ8t6BPp8TG9hh9U2mHD0HpZClQetnFZIkCIc3MWchx2Ww785QRYowYDTQ/CO7BQ== 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=l//o++37XpgXw0GR/R/t3HRlLebdVAwsKRzXEa9GC58=; b=XKYC7bEqeeOAsnnS94BBiBjtnpzrxjPo4K76isxdtHySYEKsmP7Dxynju7/P2oKObUwuAxwdLhi3vBRS4gLgcUYKQP4uYwu8wuO66u713MD7AnHeZsFH2m6Mv3TsZpQFewzkn3FGFNtI9znm9SrbR5+H1US+b18Fvkl72Zig4pEVAElRUKb0c76c1zuwGHcVnZJtIAakHUJNLb1yF8o+d/+Fw0yj1w4BVJoMAABofuxpIXIbwpHywVno9WzLEZiVd+LS+A0oknOBCPTO3BigB1h8SpS6h5XZ95X8JkDE6isaIVzbaxwzWnxnjNUGFwq7keXxRZy46nv08M7O+STxBA== 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 SN7PR11MB7043.namprd11.prod.outlook.com (2603:10b6:806:29a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.30; Mon, 1 May 2023 05:50:32 +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.029; Mon, 1 May 2023 05:50:32 +0000 Message-ID: <610aea06-e453-29de-6342-fca1fd2e21ae@intel.com> Date: Mon, 1 May 2023 13:50:25 +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 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> <20230429084653.vnmionbhnodbbd2w@box.shutemov.name> Content-Language: en-US From: "Yin, Fengwei" In-Reply-To: <20230429084653.vnmionbhnodbbd2w@box.shutemov.name> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2PR02CA0106.apcprd02.prod.outlook.com (2603:1096:4:92::22) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PR11MB4820:EE_|SN7PR11MB7043:EE_ X-MS-Office365-Filtering-Correlation-Id: 60ff8ed1-5aed-4f35-e0d9-08db4a07f99f 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: uOjsEdXv1S5GEHxFmFAZfpg1Ely6JNSTlreBRUdg3jCsYPDqMTaGkgKrOEBdLyFFHbtIM+901oqJ3KmL5vqyns4kD2NYzdi2Mx0TQYNvzqBM+SjPSEa8Xb78/IeVKd8GajsDvfgt7d4Cfs0IK9ANMn7LiiTX7niNanuiIC9hV60s5CF+LmGYt4j/hanaoapWbJFhV0kr/S/OgOxyAsTzk9uJkYzljciE4STCLp/3KcgDpoJRUkva/+okgD+lFi/gS8D0Rlqy87BnTFQM4ttqa9dsL+OLXdPd8+OMsa1+ik5fZuOppwjr195yGOXWrs+IiUxepWtnLzTbfxRN8cIgG/kVeH/ObYGfpfkJ9VQ7UdEVkK+63jJ6q0ix0qCSDxQbmQclxBt0ZyEjWw3fDZz400pFFMaIBq6N98J1WTe2/hGMdre1KSuo0nDHQl82Yh9abAIZowCIuozbbjfwloajoS1PNclWCgBqHtH5ZAeunKcIs4Vi+R8y/9rSOm3Z2uUkDpbAE+CF6LIRQo8iQx5F7kZkN68Wd3+AuBr4J5eFlPau2DfZVFOw//+Dq1+dmOObQtgIXTDMwSs5HBjAbpnDQNfDxda/FOQbgb6c4rihYKst2AK+zxtt121lk8b6g3eQJ+OmbGquAAMl3kwd6/ZSxg== 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)(396003)(376002)(366004)(346002)(39860400002)(136003)(451199021)(5660300002)(8676002)(8936002)(82960400001)(41300700001)(316002)(36756003)(86362001)(31696002)(2906002)(38100700002)(31686004)(186003)(2616005)(478600001)(83380400001)(107886003)(6486002)(6666004)(6512007)(6506007)(53546011)(26005)(6916009)(4326008)(66946007)(66556008)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SEhOWmtXbklvQWhxZ1R6QXczLzRUaklvMEN1MUtmcWEyWWFWblJvVDkvVjFE?= =?utf-8?B?RG1MUWtsSWtnQlRqNi9yRERuVWk5WVh5VXRzM3JnczA1L2tDSFo2RVhQZWMx?= =?utf-8?B?Y0NyMU0vb1A1enNWcEVzRktYQStPRmJONXRUZWJCWVlwYWNsUDFvVFFTL2Z4?= =?utf-8?B?WXFHNUxYcHRmQnpTRnhGRFpvNFYzVWRERG5mQzJyV1B2ZEpxeTN2aHRmbmYy?= =?utf-8?B?dVp6QVJaZXpWQjZsVGtBSkR6UHM5OWJWNXh2NU9tbEVNVDFFMmRheVV6LzFG?= =?utf-8?B?cEJEcDNMS25kbGxKYjQxUFp3TFk5WG9nY090V1pFTTVuUiszYnkvMHVlSkdt?= =?utf-8?B?blF3U1hkRFNHYzJPY3U5S0lVZUJhcmZVWmlTWld0WmhJUVdpVlpxMVFEZTV4?= =?utf-8?B?a0ExOUlDUWRrOXFXcStodUtUaWRvejVIZ2EzRkRSRmVUWjlUNjBHZGFrelYz?= =?utf-8?B?eFNBVG1WN3M0RWV5QUpKOHczdjdUMzN2cTlreUcvdDA0eDlvUlovelFvdDMw?= =?utf-8?B?TWtHOGllWlVqeWt4SEEyR0h0cnVucFEvWmR2V21ZV0ZVOEREQk5XUHhZanJi?= =?utf-8?B?cTE3b01KSkRna3FDdm1XL1RzKzhXZXBuT0FnbXppc1QrNjZPblNaUWdpM1Y2?= =?utf-8?B?NDZKSEYvUWZxaGFublNZUGRlekd6K2FlZVdxcEJCek0xOVdibWhxNWdOSTZm?= =?utf-8?B?Qk1HRWQyOGFBbXpod2dybnhkaG9rbDh4UGx6Q1cxNlFNdm5GblUrYVN6YmR0?= =?utf-8?B?ZnlPR21TWFdxcmF0ZmtreUNzWWgvakt5NzNUWGp1NzI2clNlSlVROGs3ZURh?= =?utf-8?B?LzNhRWVMMmZvU09TMjNvSFV5QmsxaHR1c0l1QkY2dG1mOFE1UEFDUFU5WGxV?= =?utf-8?B?d3dRWU1MYlA2NHVpMTd2MUNUV2NRY3MyYXU5OFYzcWhWS0l0STBSV29COTkv?= =?utf-8?B?bHRsZ2ZjLzNLMmdQZnoyYlNmUzBOTUF2djNoNWdEd3ZDOWlKTXp5NmE3V2Nw?= =?utf-8?B?a1lsVmF0cFA4RjNnY1c3OHpFd2NqZmc3SitVOE91ZWlkQzZlalFrUDF3UmJG?= =?utf-8?B?ZUZHVEd2b3VBcUtHUDg4N2MyRUZYckZCeXZDVVVrTzFaNmo0N2Juc3F6RDda?= =?utf-8?B?bEFyVnplRGx1bDFaakVmOG1IUDlWckozQXBRNGpDUFd6UlhZMHdHYjlJd0c4?= =?utf-8?B?QzNRZzdVSTN4L3daL3dtM1RCYnk1YXNpOUxyeXJpbkNyV0p6cUFCSFQ2Sjlh?= =?utf-8?B?NkYvR3Z1TlJ2WklCVUs1MmMySEY4bXltaEREZFd0Nit5Q1N2OG11b0tZL2Vr?= =?utf-8?B?UmZyVEhyTXRlSkl4QzdRSVhoWnpvaGF0Ym1HRFMrUDdsb3hWSG5QUVphRUto?= =?utf-8?B?T1c1OFRBY2sraDZtSXhOQk93bi9SbTRITzY5NGlEdGI0emV4d3FNUDRGeFdT?= =?utf-8?B?RmI2UWl3VnVCWnpiSWpXV1I2c2oxclhpMzJMUUVXcEk4SXpmU0pnYkhjc1FH?= =?utf-8?B?QllaMGhoU3pYU0NHZkswMS91cXZkMTRHQVh4eWcrSXlzVHRDaTB2MnpkaFpE?= =?utf-8?B?SDNGN1J6ckI0dEppbytXNGx3dmJqVldhT2Fwb3JRNjlyVDU3UlE5N1VLWUpv?= =?utf-8?B?TzhGMFVHQXBVZUtVV3FDMzhBUlVPdTh5OXBDSWN0dXhpaHhsZ0JSUFpCaDhS?= =?utf-8?B?OTJ6UEczMERwd1F6RVNSdENLZXhveTlBRXppRVArSER6SGNVc2dGOG5CZ0p0?= =?utf-8?B?amtBaXZaMjdCbzhRL0FDRmkzZ1hHMTZWcStSZ1lrWmhLN1pWaFZiQkxHQlF2?= =?utf-8?B?aWdXUHZsRW9SNmZwbzRXblFUWWJPWklwUkx6Vk1seU5qTGxVODVub0h4WWpq?= =?utf-8?B?aGQ0N2Z2QjI2QXFUbGQ0OHpvcnFYdmFMMUYyOVVvZDZlSlVNelREUFdZMlNJ?= =?utf-8?B?SXRnM2VJZDVhOUxHNElESS9nWngvR2l1R2RmUGI3RmMwOXJHa0NZTTQ4TWJk?= =?utf-8?B?Q01RcnlRRG1SbFJER0p5TDhHNDhWV1M3UWNNUWtTQmVJeDdYQmc5K09xRXJq?= =?utf-8?B?U21kc0FqL0RsVjh5K2tJaW1Eek9yRENXK2gwOUZMdHAyWWVPNmM4ZS9md3N5?= =?utf-8?Q?e8kRZAa3Un5ZwyiPNh/7/Gm10?= X-MS-Exchange-CrossTenant-Network-Message-Id: 60ff8ed1-5aed-4f35-e0d9-08db4a07f99f X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2023 05:50:31.9162 (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: FUEJFULD9rYkv8gCZwS+pyqCzb8/OfkI//uAZHCsAFohFtKEUJDw5nDjnTrOuw46GJ80ghZR4TgBN2Q9gB6b3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7043 X-OriginatorOrg: intel.com X-Stat-Signature: df6wiosmxbu3acafehzhhfpoyj6743uz X-Rspam-User: X-Rspamd-Queue-Id: D43A540018 X-Rspamd-Server: rspam06 X-HE-Tag: 1682920237-608900 X-HE-Meta: U2FsdGVkX19oblF8s14V4n0a5f7CRL95AO8C8Cw87EkLDfHv/MTds5zdY74q0Fq5/Xl9OacssbbClF2Uqn+JL3E+DuGE/c4tjC0pv0A9U2NtWL+f4NkOHV8AgTlJ4++ndc/0sPSSDaVFShQJwS4RYtIHhPQKAFJkW7cFsppJSRIJKWH2TMgUJJxo5SARofkOe4qJ+0IASeQLRhFEYjVeLNo4nLDELcznULR9Ffb93ULubZF9AgYitgrGkv5ysDFdbxFZzB9wLZrjOSLqSml/JJwNygk7JsOXjOktwuINrAJb39o1V6l4aVccO5LKWUsmqsFiwNfz78TWYuWy5xFbu17g0qn+/7/DxXCH5HoutUydSg+8TTSKkzAlCzmD3uejKpYNArmuzYur6unsgYvwjW/8a2P+gw73CgdJVoYV3GggFr8nOEUhbMnxkNLrORZhbkda7Lj12CA8236R8No8US4cg8tacBv2wOBgljA55wb2mP8n+Dhyf98bTgiLwG3fpA+oghs14uud7L8+E6sTnJMQ6j5PaiPK+PKK2YycHx37FpqdtiiklPAza7IAcXlM+z0+mDoePtqi3w5Qa5Sl6EOqkwRHQHeZPpb4dwNXLXo2g81JIMz1l/O6PaIDIOAA2GzTHIaXgCq2uglJHKcIKdthm2mmAbiHcuEXroLK8bBC3dop+LVDWe/VdAdQq9rR9BFdTtmMMSU4qxN/l9MMsvImfhUpVirBbSgd/bEGttKDkB9m43x5PxTg3GvdH+uACDq4IWbeLSV73ve+4nXHCqyNQF8GQbZm4LnyGlZOo4UZY43kOAN69Ry4YPgM4UDdQjEOu770Vb0XgGFARf6ANx/xVVzniUU76LI2AC1ocj9CFh4bAB831mNT7bkSxcWT6WVJpk/cvSJQBLfZnpBG9EXmCCltDWpyoOhJeFrV/mToLaWn0/ZNjlhC6fT/Be9Smlgrm316le/KssPLynD friIQhrU 3/GRnsSb3DeQ1qE7tds3cacbsgzRs3TsVSLNLNGOFaO4OreoIWSAmJMHoRzeT06X1UZxJ3rxt4Y1aKTgJPx8YRoZdA6BB6AImHaWAen1I4IJFb/qhtS8wlUdqfCerIWeW18Siz61kabaqB2OjDomH0wriKPJ5luMM0vWyLqGJHUR9p40cApbsaxsR09d5lDHLKNVEOkZSl1E6gKkV2TALacq4SEtzmt0r8A/MHmz1rpz27Wy57UTsKkZgtGICGY0YuLVZpYwKpMoTcRoKwlGIAfyxHLtlxcvV/Jg1As0xiSd9RqEJaHtDhnEPT3Pi+S1hLLP5uyBvcZWATLSVBU6IVX557i+QvwlafVqm8TtlMJEL+W8= 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/29/2023 4:46 PM, Kirill A. Shutemov wrote: > On Sat, Apr 29, 2023 at 04:32:34PM +0800, Yin, Fengwei wrote: >> 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. > > I *think* (my cache is cold on deferred split) we can. But since we > already hold the lock, why not take care of it? It makes your change more > efficient. Thanks a lot for your confirmation. I just wanted to make sure I understand the race here correctly (I didn't notice this part of code before Ying pointed it out). Regards Yin, Fengwei >