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 0A343C4167B for ; Thu, 7 Dec 2023 15:18:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6430D6B006E; Thu, 7 Dec 2023 10:18:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5F2666B009A; Thu, 7 Dec 2023 10:18:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4E1B26B0072; Thu, 7 Dec 2023 10:18:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3DC496B009A for ; Thu, 7 Dec 2023 10:18:21 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 18F15120273 for ; Thu, 7 Dec 2023 15:18:21 +0000 (UTC) X-FDA: 81540378402.17.8ECFBBF Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf07.hostedemail.com (Postfix) with ESMTP id EDF9340021 for ; Thu, 7 Dec 2023 15:18:17 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b="hWLb/eoU"; spf=pass (imf07.hostedemail.com: domain of zhouchengming@bytedance.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=zhouchengming@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701962298; a=rsa-sha256; cv=none; b=RXGQzr/BAeuYsLD2t6iLcR5J5XFWj5PdxgGwE/wr9XjxtJKUG8BWUB+7iM7XX+mN+UONWW Q5h8lBPF8ois1TXN9RA3GOe06clRKOiBrdYC3VCwehd8dpOMMTESrzssXkOLnKJ+0TfDk6 kG3olFSWSa+g4ONV59Vha1nHQ5o505g= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b="hWLb/eoU"; spf=pass (imf07.hostedemail.com: domain of zhouchengming@bytedance.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=zhouchengming@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701962298; 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=u1pKODQs/mhfbgAdqmPD+EhKNUtG+NSuI4HLS28uLOA=; b=XcQyneWUlizReqEOKtP6uKzzp2T4LPsCgwQ7+5naaqv+6tWvsi/AbsGEWgldNdyOpd7WrV vxJKZD6x/2cdTHsnhcUDBZw7cb0/5fMe0eizqzN1wawmP492tqRKUiywBbBIWuPNtorKsb +BsR18E6q+e3nUTc9zSXjw7SpM1v48Q= Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-1d0c94397c0so7393835ad.2 for ; Thu, 07 Dec 2023 07:18:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1701962296; x=1702567096; darn=kvack.org; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=u1pKODQs/mhfbgAdqmPD+EhKNUtG+NSuI4HLS28uLOA=; b=hWLb/eoUQlhgtaedV0GvqwYIO+EWZh/YTJwdt6DE+iCsN4u7TwWZHDA/Bew46VThOc mwD0ZL60Madm1sIuB744yiPaTB+PW7hNOVegZJaZwimroqHU8/9b0+cydvuPMNV6zKr7 FDrL9sugRTeV8w1Z51TcNDJzF0LbhaM2GlYIvxukaDnOa7Mt3sV/2LIhXcorjLL3Pz7f XJSVtbCfgAuba8iEwtmYU/t2ItV/y/7QBOnbmenZ2dm1F77GyrmZ4aS3Uyfws8c0iv+R TtEZX1J1nIYn/vg5UhN1Bi5atdM0ObTQgdgIm12drgyYw2PnMNHbbd3RHxIZBet7MvFd ZCbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701962296; x=1702567096; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=u1pKODQs/mhfbgAdqmPD+EhKNUtG+NSuI4HLS28uLOA=; b=qdy70FMmrx8jj3SSYIt3l03ZCqj8e6Z8J1s430C8kh953/SQzVZpFdaO3eTMWywpUi s7k0PKKTz8QSibbpTqzLwrc6cF1bS/JKXJjvQrum+BOLFbB9iPqWNzLgo2u1G7AFI0Bn WKKIgKoGVqd7FQdiUj1xwrvX1wSxL3RSnoi7i0V4leSpbktp1DhuAj4WN3dg/8ymVbcH wcXpU/p88ieAXRJhKzyXhQY2W1pS9YVMlcc458TqdRNRNFNG3Iyv0whazSsuNwjtrUS3 yxZ8z1BTrwJ1QQNynBir6wkaCo1oSBQ9iMR15/zcBT3Hgk0rmhjkm7766GgzcSQGb15I 5/Fg== X-Gm-Message-State: AOJu0YzqNEBazZ1N0Ttz7flsgjQrbvnbxMnUz/h4i84mhHKDLp/I0prn SfwYdr0KTlt+Pz4juEeCjjTIKA== X-Google-Smtp-Source: AGHT+IGRFgPS0i8wxKQBN4fbBs0uBqT/8XjR1emJtw3s7T5FsiATLmeXVmVi+dLpckIXBogPKT37MA== X-Received: by 2002:a17:903:2386:b0:1d0:6b95:9c10 with SMTP id v6-20020a170903238600b001d06b959c10mr2094021plh.48.1701962296547; Thu, 07 Dec 2023 07:18:16 -0800 (PST) Received: from [10.254.182.136] ([139.177.225.234]) by smtp.gmail.com with ESMTPSA id l1-20020a170903244100b001cfb971edfbsm1555270pls.156.2023.12.07.07.18.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 07 Dec 2023 07:18:15 -0800 (PST) Message-ID: <6bf18314-7749-476e-aece-064ecfb0dffc@bytedance.com> Date: Thu, 7 Dec 2023 23:18:09 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 0/7] mm/zswap: optimize the scalability of zswap rb-tree Content-Language: en-US From: Chengming Zhou To: Nhat Pham Cc: Vitaly Wool , Johannes Weiner , Michal Hocko , Seth Jennings , Dan Streetman , Andrew Morton , Yosry Ahmed , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20231206-zswap-lock-optimize-v1-0-e25b059f9c3a@bytedance.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: EDF9340021 X-Stat-Signature: 8ktaah6oyakfcng4jy39h6wkhw4wccno X-Rspam-User: X-HE-Tag: 1701962297-694764 X-HE-Meta: U2FsdGVkX19Iile+OgcB4iZH8C2BRuX4+Xm/557F/pJIKs3EynibdhOoYCxdcArVsZACjJZubVZYhJgUiMz6cJ9nPdJ6wB+XSEGzAeiinzJnZvcTQPyIRokl05XWdj+LeCJifbuTeoBKlcZmf4J9pTlu5nOIdsmV/BEyRDTY3d6Z0Yc0bzd7tr5hRCi3syuTGfHX+ZXDuCy61zsd11hrY5Fmo2zcKwm/jryDiU0j4vbFZlXHQVWLwF+65n/zStVb2lAXfjI/+owkDFY44X2i9W8MG5sBaZQ6nBqPIgS71HBwKZMUClbzlIc7dAg287CHUVmXrcnfkc5PcrEvXGTyOnp5kIrbn/MRKTpDZFOLtcagwsu3SwCAlxpLMuq8sgLO35Qcv5OmaVxlHXvPfLInzDknU5M30KVfRd2o9oV4RdUPIhWV0N9NorXSOjZwav3Uubh79xRqeGeWb2Fl6+GXpVi6z7mwRaYOiKgs2OmuiQmg/4hC1Y4HLsAuCFa1Zh8c+Y8cNihAcXpXoas0HrbNygbKI0LJRDVuh2Txj3EUtiXfXFpYlAw4/7SxXx4H59zMnr/gUhXHFsK1uJ3vP8BXvmnC0/6DYm54m/HQVrtqhueOqqagtVDxOZbEuE+RN5QA9x9kPcumyHQgQnw1tW01L+ePgDE5J4lC29lEozzo69XR/uKCbV6+/EEOuZRx8rmUQeLTFWoPzT1spSI0+pOsC441Q8UMJF8RDYTEzL/WOFnKBFMUKG1MwQYozNR+YWBCfWP0lz8qwmPIle+RSi7q217SxyZS0gUrE6WHr6+q8EAmG5BhGZS0K6MRBEHeIR0e18GkxAs2cA8nT1xck8R71hIZ96MesvConWh455WKBRfl8H8F5UXjGXS6ipkeV397WIH7WApozm2wfokSjMpY5ch6y0nQNDz2INAqxzo9yLM86/i5cpE3Xfg2xVp23M3J5qcJEfVWxsF12pytlKG 3h6Fd1uk RisApjQ5aSG0uNkzGl+3Jl1223St+emkd3HGn/M4rz1SUTWFM8x59nsNL/KgrbFN9yVx03SxanA/Lp8DWzDysW5gdjuaSYM8jFVjiIJxP/V+j0cZVVS0eqcm9AMEfItjARMxukEIeTrkWb5TRGQQgWK7/ZRaSkAivh+ZYmZtEHEI20Z2W6acutk+/f/4mvGj9kTqv+k+WGVMHHuYF4CW6ddB0c6Ou5PfgpXwnox+2y9utIsptOHFwDpFKf3pslXAiulqnQ8v/0P8WAE8lApZ/rjwzU9AMXqK6Gv4AowQFgoKgNQB2ZFKxocu8rfkbHGxrVXLRBflk9U/qjoEbGKIAzCpqtEBpY3RN6jRRw8Ecp3CDsO4n3l+g34JZDrWmKt+VIGFL/16HvM4GYW854repphhswp8vGc9U/BbXJwWvMoiN4fPnddHXgofQkudXadq2uGyuxEam1oebxHUh8xs49aBK+A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000251, 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 2023/12/7 11:13, Chengming Zhou wrote: > On 2023/12/7 04:08, Nhat Pham wrote: >> On Wed, Dec 6, 2023 at 1:46 AM Chengming Zhou >> wrote: >>> When testing the zswap performance by using kernel build -j32 in a tmpfs >>> directory, I found the scalability of zswap rb-tree is not good, which >>> is protected by the only spinlock. That would cause heavy lock contention >>> if multiple tasks zswap_store/load concurrently. >>> >>> So a simple solution is to split the only one zswap rb-tree into multiple >>> rb-trees, each corresponds to SWAP_ADDRESS_SPACE_PAGES (64M). This idea is >>> from the commit 4b3ef9daa4fc ("mm/swap: split swap cache into 64MB trunks"). >>> >>> Although this method can't solve the spinlock contention completely, it >>> can mitigate much of that contention. >> >> By how much? Do you have any stats to estimate the amount of >> contention and the reduction by this patch? > > Actually, I did some test using the linux-next 20231205 yesterday. > > Testcase: memory.max = 2G, zswap enabled, make -j32 in tmpfs. > > 20231205 +patchset > 1. !shrinker_enabled: 156s 126s > 2. shrinker_enabled: 79s 70s > > I think your zswap shrinker fix patch can solve !shrinker_enabled case. > > So will test again today using the new mm-unstable branch. > Updated test data based on today's mm-unstable branch: mm-unstable +patchset 1. !shrinker_enabled: 86s 74s 2. shrinker_enabled: 63s 61s Shows much less optimization for the shrinker_enabled case, but still much optimization for the !shrinker_enabled case. Thanks!