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 76803C48BEB for ; Fri, 16 Feb 2024 12:38:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 110768D0007; Fri, 16 Feb 2024 07:38:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C0AF8D0006; Fri, 16 Feb 2024 07:38:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ECA4F8D0007; Fri, 16 Feb 2024 07:38:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id D953E8D0006 for ; Fri, 16 Feb 2024 07:38:17 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id BA735405CF for ; Fri, 16 Feb 2024 12:38:17 +0000 (UTC) X-FDA: 81797619834.20.17D1AF2 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by imf07.hostedemail.com (Postfix) with ESMTP id 2B4AD4000D for ; Fri, 16 Feb 2024 12:38:14 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=KsD4cSfW; spf=pass (imf07.hostedemail.com: domain of zhouchengming@bytedance.com designates 209.85.214.178 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=1708087095; a=rsa-sha256; cv=none; b=YwloxeBLKPoDKiYMadC5iPK7ti6fH7Sy7W2RlpopdoLa3kfEdQ262mFgFj99eOQdbGanSi FMaAIMQy5vcOx5iHtlT7M9T08EgIseWmOEW2Akl4vGu5jczYaZK9BulK4pBvPdf9Q2R0GH gBIcMbacJnPnm77mKqRWKlzHd8cV8ag= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=KsD4cSfW; spf=pass (imf07.hostedemail.com: domain of zhouchengming@bytedance.com designates 209.85.214.178 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=1708087095; 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=yjzwPHk2p33IGtJdMsugVw65fwcmD9njyLsVUfTHxq0=; b=OqbT8r6D0rXsK1xSEfEqbiQ6CvOf3/KSYuGphZa27gPkOf+Vxsv4JOWgQy4g3UVCwBZlcG 4XQfvQE7snE63l0dT6yRNPW0y0KVifPBc8vgt2iASLIbsL/t1CIc5Oa7UjOuNU1ILAbiK3 1StzY38ymcxuMWwBPobdXbP1fQMq6H0= Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-1dba94f9201so4771415ad.0 for ; Fri, 16 Feb 2024 04:38:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1708087094; x=1708691894; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=yjzwPHk2p33IGtJdMsugVw65fwcmD9njyLsVUfTHxq0=; b=KsD4cSfWaK2EH6E1OKbK2STlU7MB3BVYR568Aj2AZ20kLsDdc0aedqh5T8LcTo9WyJ 592o7uyh938HO8siLShlgHM8dgWotnWNXqMyPi8f2glgWl1So/LhyAJgbDd3dlk3RwKF pnBWoxNDUyBm+B42fK87+zZKwfcwKiLMgY8Za65v6rSC0wrVRszxLB7i55Y4l3NaNCav q5hJgfmXZQiG7DAaLdSBip6Pr1epLRRI4wpdKifNti64YmqMikWMZ1FSHDu2cRFzoVHs F5idM53yPTsvYB0DVMDpArLX979S6lWzJJVKmUnMBoNt9xNCzRwrRjZA6TwNGZeQ/zS9 QhBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708087094; x=1708691894; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=yjzwPHk2p33IGtJdMsugVw65fwcmD9njyLsVUfTHxq0=; b=Kb+6R6QSqP/5x5/yuE5qn4AZyW/JZFO9KJeNMmRPyc4ZmB7YIGxIQoz67XKDFtHFxv T9USCHEqBXPExFQqs9FASKwCVN0rQrrMBlGnoXcy10daECNiCzy/72CVvhjDw19NjVA0 dYXkVsHzXgME8sh0eN9vXfpB4ofEcgLA1EBWSLUgDzSVVefX0nTp8CXc22OvcOnqTsKt mEMY8GKx/PTvz3cGjapd5S9unCOiDqH6OSqqQq8gEkM6GryKE+QHzSgv3udgWLkQWNDg xTXJsOA3tiHyYScO5+gETN9Ltpf47YDRiNtaHfkks1MYp4bMZ3N9hlbFOvKUgi+VF3P0 945Q== X-Forwarded-Encrypted: i=1; AJvYcCWZaciqNVAkmvNNNus80isyXw0VKERsvRK13tx2AwE8IpHFK1rmlmYLCNAw70DztRrMMXNFpeNLPXyJiaQOGy4BowY= X-Gm-Message-State: AOJu0YzHbRWhatreFitTh2+LLvfgy23cmpVgIqfwzhPxc1bzEWlLIeut euMwNQPlPrOHOIDLSyECA9PTHlvIElW4g8doOEmk2mXdibdZoH7tukVpE5lS/Tg= X-Google-Smtp-Source: AGHT+IHfk1qfuACl6jLmGIKvguSAMywWfTCxizmfKcpFacjh2S7+JnloeWkJprnOskN4KHyZZ5quZQ== X-Received: by 2002:a17:902:c947:b0:1db:4b08:fbe8 with SMTP id i7-20020a170902c94700b001db4b08fbe8mr5610125pla.44.1708087093682; Fri, 16 Feb 2024 04:38:13 -0800 (PST) Received: from [10.254.109.253] ([139.177.225.231]) by smtp.gmail.com with ESMTPSA id m8-20020a170902db0800b001db2b8b2da7sm602298plx.122.2024.02.16.04.38.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Feb 2024 04:38:13 -0800 (PST) Message-ID: <2e35014d-1df3-4efa-8aec-d305094dcd80@bytedance.com> Date: Fri, 16 Feb 2024 20:38:04 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 2/3] mm/zswap: remove the memcpy if acomp is not sleepable Content-Language: en-US To: Barry Song <21cnbao@gmail.com>, akpm@linux-foundation.org, davem@davemloft.net, hannes@cmpxchg.org, herbert@gondor.apana.org.au, linux-crypto@vger.kernel.org, linux-mm@kvack.org, nphamcs@gmail.com, yosryahmed@google.com Cc: chriscli@google.com, chrisl@kernel.org, ddstreet@ieee.org, linux-kernel@vger.kernel.org, sjenning@redhat.com, vitaly.wool@konsulko.com, Barry Song References: <20240216040815.114202-1-21cnbao@gmail.com> <20240216040815.114202-3-21cnbao@gmail.com> From: Chengming Zhou In-Reply-To: <20240216040815.114202-3-21cnbao@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 2B4AD4000D X-Stat-Signature: g9ojbpdukqhada7qwnypxjix7x6mtat7 X-Rspam-User: X-HE-Tag: 1708087094-123036 X-HE-Meta: U2FsdGVkX19vhhIKonj6cMhNygilI4lX4dU8UfvR/MDWenMVhwmlhIu+uGeSvsNxZu7R/cMngUbqzzo68pSz5pixsEw7VR6K0qmzKuz4vx6jOQgZGGVk6YaUbDW/eIPCrIO3HwCtc6RVZodBCYOX7R7yI25WfqOS/1rBtnrYb4dgBf8TQnQoPHHDvu1yJicO1Glm+j6sVwQyktkVsVwUYfrN/dr9rKXdoBUfaxnH1wavJ/jHEsfQuVGD70qBF9LTrRUmK7J2RtSkokYZSt5XTKCyK53f/RgLVo8skBZuGtnDcpXmFqXLZuWvUEo/jLcJ3bQH3y34XZ6LPW1h345X3qO5etGn7cHiccBoszi95znwzHGeptPCBeIU3+O7QtRTaF3U70wmQ4sN+xDBKomY6sGwWSOI5/vPSnPWF1M8547yD/Tg6d/n3mdy1mWIsSBYYP/4jcyOM+/byhEGRqbbvY+od1W712rB1e5FRssIU7Gn7eooaubJ2dnCzBFpZvLyyAlecKvxV3Eci1avI/9cWg11hEuIOIbYknVEmy64sRSiRPHq66Nvnl1DJZpzU9RWZYhmOK0yO8iDA+F1MtXcmQldL1DznuBZXfj/D+N6ZPpFmRghVn3ldwwyx7tDU2UfTRsLmFQXpmvdJcTBmAS/BvsJIqpkeIeF7sggnOoUVaCcs5BD/0eqSYzYbiYZwdC7HTiCQwkE+zkHNrcfMqXTbQYluXmCMMVHqCSEeaSmlmliwzWk3liF3jx7JsdnKAXMMKt+8y99I39TzOoyToPrGPThuCj/raIGjff+sjvFc1lVf2DK7GtkgkCe5RjUhaFYSzIkUG1EXAcxrinXsIGw/1s41aFb7yJ3P2Jb1TSVSbs0vTxZeXSvxB36DRP+QCLhRICs7RNPEFVK9BT2Hei90+5SRet/IYBzfCKJVrvwJu51Lij7K/wdVIXFzP2C8ZTBn6FqNDSVCEuMnXdCKpb ilL5SvBy UruHCDUxjlebT/EBU4gotzGxR7g1Gp7SSjrtG3g21mDXAD0K2ZbHyBR5SmvyMI8p3llJMKN4aKGcaRJKdn53SD5ZUSX69tjN1H/73mJvW4ksYK6fmbw99ag6wmb6hxlII76l0QnkuIAPDJYMMsByvzz3uy8lS2BGXOIz95qMLZLHQ47shxYk/EO29CPZ0uOem8FZBZFYY/wN2PrqLQSy21X1+NoyfdFdiofOn4hxqwuvfjyu8gMTziqjfGQC6zsDGSCnfoUNxd2ON3PCKkaCP1IRqUkxxGVmnMQQ/Hi9iaGjOJRyjxMpN6NPFmXGWYct4nOXG2R9hOFvvfvYjGIJtUc5v7GFbpmNP9Z+/FpH7CxImSIHibFNNAMR81gInSAUc+Z7bFWK45nIc/mX8wIH/TlyEChbwWYjaBQCpHe/TVaEqLeCOQuyI4al5mVT04Aw2gvWB1VRl962NrvLSW6Tuk6LRYwYwyImQel9WJ1rIJwtMOAkOtowyz58euCwLGKWHT9Ct1tHKFPDVWj6T143UvE1jFIp669rly4y6SOC+CfIaGZ0= 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 2024/2/16 12:08, Barry Song wrote: > From: Barry Song > > Most compressors are actually CPU-based and won't sleep during > compression and decompression. We should remove the redundant > memcpy for them. > > Signed-off-by: Barry Song > Tested-by: Chengming Zhou > Reviewed-by: Nhat Pham LGTM, thanks! Reviewed-by: Chengming Zhou > --- > mm/zswap.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/mm/zswap.c b/mm/zswap.c > index 350dd2fc8159..6319d2281020 100644 > --- a/mm/zswap.c > +++ b/mm/zswap.c > @@ -168,6 +168,7 @@ struct crypto_acomp_ctx { > struct crypto_wait wait; > u8 *buffer; > struct mutex mutex; > + bool is_sleepable; > }; > > /* > @@ -716,6 +717,7 @@ static int zswap_cpu_comp_prepare(unsigned int cpu, struct hlist_node *node) > goto acomp_fail; > } > acomp_ctx->acomp = acomp; > + acomp_ctx->is_sleepable = acomp_is_sleepable(acomp); > > req = acomp_request_alloc(acomp_ctx->acomp); > if (!req) { > @@ -1368,7 +1370,7 @@ static void __zswap_load(struct zswap_entry *entry, struct page *page) > mutex_lock(&acomp_ctx->mutex); > > src = zpool_map_handle(zpool, entry->handle, ZPOOL_MM_RO); > - if (!zpool_can_sleep_mapped(zpool)) { > + if (acomp_ctx->is_sleepable && !zpool_can_sleep_mapped(zpool)) { > memcpy(acomp_ctx->buffer, src, entry->length); > src = acomp_ctx->buffer; > zpool_unmap_handle(zpool, entry->handle); > @@ -1382,7 +1384,7 @@ static void __zswap_load(struct zswap_entry *entry, struct page *page) > BUG_ON(acomp_ctx->req->dlen != PAGE_SIZE); > mutex_unlock(&acomp_ctx->mutex); > > - if (zpool_can_sleep_mapped(zpool)) > + if (!acomp_ctx->is_sleepable || zpool_can_sleep_mapped(zpool)) > zpool_unmap_handle(zpool, entry->handle); > } >