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 99998C67861 for ; Mon, 8 Apr 2024 20:27:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 131F66B0083; Mon, 8 Apr 2024 16:27:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E2346B0087; Mon, 8 Apr 2024 16:27:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F127E6B0088; Mon, 8 Apr 2024 16:27:12 -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 D3C2E6B0083 for ; Mon, 8 Apr 2024 16:27:12 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 394EAC018C for ; Mon, 8 Apr 2024 20:27:12 +0000 (UTC) X-FDA: 81987499104.12.1C7F351 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf10.hostedemail.com (Postfix) with ESMTP id 0F73CC000D for ; Mon, 8 Apr 2024 20:27:09 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="F/BPrRsx"; dmarc=none; spf=pass (imf10.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712608030; 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=rK5tsvHoYYDsupdDWS0AP2E3vvdrqLD+vRmYtgDWOl8=; b=m9wgoJUcS7bVH3UHY5IpTtLzC38vNE+1SCapag2MVNUZ2iYenRIpefWTffbUYDfVl9rqlj 55OBNpABXIP16QTW0c1Vfo652xz3qhcySIvnMaeoDQOrZpdMJbRkMm5DBq6f6ECsYxIJmy dcvaIGsdsxVEp4mutArxzMp1NBEkDTM= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="F/BPrRsx"; dmarc=none; spf=pass (imf10.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712608030; a=rsa-sha256; cv=none; b=00XD4Hu5vCjNaFc5pm2HO7KXhr5oyNqS12VFBwEChMxOwTkM7AL+r3w4NhYQuhkiMCi4gO sfsDo8zXUNh6P6ADrZ0JGhekkqeU9FVLdKNt9xgQRBukLgV6G9cRBUvrdq96nRlqq2LhlU 0e6+Kb/bKJNVGCgFUdOwstIhkmwXzXc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id CDC15CE1B49; Mon, 8 Apr 2024 20:27:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DAEB3C433C7; Mon, 8 Apr 2024 20:27:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1712608025; bh=6R2p51QAJCwDeoOozdngxiQ1aMNdwu7wefjZs0Nt9wc=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=F/BPrRsxLcRD+zrHJ0pN5yyHBjted1v3/R3IClIViSUuy3is0T/5Ifxz3uTx6K8ah pNenFwxlssa+d0X1QDoMF2JRvB7xrIBKr5/q9OZvCUp/hLlqFgx5810Y1krfwnBvCJ m429JxhTEeIqkQNbpUgbqj/LqYxLQfqwCzF+OAQM= Date: Mon, 8 Apr 2024 13:27:04 -0700 From: Andrew Morton To: Zhaoyu Liu Cc: ryncsn@gmail.com, nphamcs@gmail.com, ying.huang@intel.com, songmuchun@bytedance.com, david@redhat.com, chrisl@kernel.org, guo.ziliang@zte.com.cn, yosryahmed@google.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v2] mm: swap: prejudgement swap_has_cache to avoid page allocation Message-Id: <20240408132704.f966adc8d3928df4d3b8c0a9@linux-foundation.org> In-Reply-To: <20240408121439.GA252652@bytedance> References: <20240408121439.GA252652@bytedance> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 0F73CC000D X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: tmaajonu7frierzk7utm347g5wotm4eh X-HE-Tag: 1712608029-112515 X-HE-Meta: U2FsdGVkX193e5mVeZg4QvzdGUUBL20xyc1wsy8+otm+Z4ziyLMY0+c+O7NkA2XL7FI2YpuE4wkj09Rn0P+cdQftx8LN78t54YX9v6NYF53vAAlxjIjLrVx1ydx7h57yUnteK8r21TLTGUhc3eKQdRIHw32QePRUmI1DR1VE2/WUVLrpeVsz5mmfLu28aq2/pU+/Xg2MUVn7QTUeEhACtjxKL33H+UgUryfiNzRdLvLCeO/rJBgAHSNe/FGfid9eBwCJljklLUQkaufJGqnBx24bYTM2FclSTr/Uv3BA3Pkx0EwVujtbrUBR8C5wPHf7GMr3ui28/TqS7FDqlebAOTBqq2rFrixBO6EjnqIM33irvycP1Fu6e2YiiWsHMCcyEB8Cl/0hYj0Gs2cun71x+7vgB1KpMeCryvvR7balixDSBgSqKai6Upx09mQ8dkJwJM/Lz/EAAMgQDJDEi0dj0hZbX27jLGwsBVONPmgK+HWyKnyZj1eNJCleF7m4jSCFgubu6GO2oclnzPoHnhn3VhbWdO7MgqKVtoyqxUnnwt+3PHCP61YZS4Otcy53KSh9BznUXSBEe9/D4sE/q94nPsgIpIF1cq+0avWPUA/5NMgfS88wyf6618td8rza9Mmx2fLmZKdXplzDHaYLdvetas9rCw3pljJnqQ4O2pjSVgSV6+5hnaRFIDN6qnyMASTeORO/Gvq5ODxtpOxVwQQ/ta8/OfD9SjI93VVQwgGGOl2d0jRHYLoTLiBioByrm+2nkeb89dNehSLItjl5vjZ9F62svorFY2aWQvlRjD3/qgUb/exDFjaq+BgNs48OIQydUeWBaSzgnEJwO9rRRuvFeS5xPJv1DUZJQ7XqioIKEuTT569cWpA0D/JFWvOLkvpTE5ZZXGcXwhin4gUMWdcEo/zLRUPNP12ShbBvMWQQWrRu3kHXpQYuKdvdcpURic62CkHUF9VoPtl6tkXv/DR A5SlJmXJ OHfTYV8THX8f3NCh/eunSA7jgyWBG1KGg+9EO38yciSrI5GoLYeCOzKaBQrJlBxgiX8BUgDClt2C33FwLCql7BDaGYZphCtd1pj6ep6ZoHsHHxSkUQOE1L4aW6KfOHB53og3CP9A3qf9TUe8Jx8X5y0f8Inv/3lC+L6avCSKUYd8ZG7Fm5AZ2QS/T91mgBXfvGD23ODR85DFCflXcTTE3GpknjCqmqJHk9TJIl5q0t37EQAWAubuf9tMDUt+8vcCi0s72KggiWvMauMqVyF8oMRslc1/1oymRGNXl3BGRQV2peqFDj2dU4mOgPi7is+AwViOb+oBI84X2comylRyYBaKZhmenevwDrdykJhnGlVJ5eLU= 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: List-Subscribe: List-Unsubscribe: On Mon, 8 Apr 2024 20:14:39 +0800 Zhaoyu Liu wrote: > Based on qemu arm64 - latest kernel + 100M memory + 1024M swapfile. > Create 1G anon mmap and set it to shared, and has two processes > randomly access the shared memory. When they are racing on swap cache, > on average, each "alloc_pages_mpol + swapcache_prepare + folio_put" > took about 1475 us. And what effect does this patch have upon the measured time? ANd upon overall runtime? > So skip page allocation if SWAP_HAS_CACHE was set, just > schedule_timeout_uninterruptible and continue to acquire page > via filemap_get_folio() from swap cache, to speedup > __read_swap_cache_async.