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 983B3C282EC for ; Mon, 10 Mar 2025 17:03:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 95C99280005; Mon, 10 Mar 2025 13:03:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8CD3D280004; Mon, 10 Mar 2025 13:03:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 78737280005; Mon, 10 Mar 2025 13:03:35 -0400 (EDT) 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 56B47280004 for ; Mon, 10 Mar 2025 13:03:35 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 5C3C9812B3 for ; Mon, 10 Mar 2025 17:03:35 +0000 (UTC) X-FDA: 83206262790.22.3DEB940 Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com [209.85.210.46]) by imf27.hostedemail.com (Postfix) with ESMTP id 41E644000A for ; Mon, 10 Mar 2025 17:03:33 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Wd9l8luY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.210.46 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741626213; 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=4ZRKJKZ9nlIeWSuKxcLT+2RQaSrxw/L262gLI4l/W7Y=; b=c+VT+QuIGv4VWTAfbCnYJFuoe2zG1v9B8X4ft5NKIrrxiRQk4kvVBbK4nngpyFuRV0P7Wa +NBuDVxvnz3d739ZMGEKgqW/a04As4Qp6pLrM8d9dAgk1534cAxEwcBvSpksbAYKa1mFAX avgLoVzDChR33MEmkKLOJmSwkSc2vaw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741626213; a=rsa-sha256; cv=none; b=NH63nQ1AvsHvD6l0xyOdmBdMeZ+sftw8VVPQ3RVRVYqrRv7YE9L5C1OIkiccjx+gVPr2r6 55r261kcqH9rOqvcWXPzaP0t7vGmDyGnnRCEObDWS9jZ4mFQCt+krkz3yr+PgNv2riceoa zRPOAjg0YAXJsqU3lLp+yqBIo3HcWyU= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Wd9l8luY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf27.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.210.46 as permitted sender) smtp.mailfrom=nphamcs@gmail.com Received: by mail-ot1-f46.google.com with SMTP id 46e09a7af769-726819aa3fcso2508366a34.0 for ; Mon, 10 Mar 2025 10:03:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741626212; x=1742231012; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=4ZRKJKZ9nlIeWSuKxcLT+2RQaSrxw/L262gLI4l/W7Y=; b=Wd9l8luYq1DrFqm9FsohjgWScnGXtpA+OHcaPa8A7AFZTcdomzKnad6LP26vNjRaTs roQacj4FIL/zA39ekwVljNl25OEP+3aU+nqwBdQ1ZYcTJ9MWei//+fU7SNDQfkozf3Xw LgS4YdAy3bk+Q5ZIaaR5NopbioSIbe0Yyi16sP9gvaNLh0eCNUnlDYo0XZiSF2xM06+x pXERGiYTTvZ8CXLB3z3fDz2jyGV54BnXdGMMgVAEkhgEpYAhV+fV6HVutoDzD8CfwFqo FfyhvejjiZkBVFNLB5gqryP44fb2ZvxRGTxfZz4ZBfLEIPln7Mr40RQtwmAgi34BHKqy l0mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741626212; x=1742231012; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4ZRKJKZ9nlIeWSuKxcLT+2RQaSrxw/L262gLI4l/W7Y=; b=X5Lmgtjev1ztNoZceBnjoT65P6Ftzpn8NWbKzPjYqiYhSxidgcfz1exKSAP29yURT5 emuGzEkm28QhvEmPC85P3zUHgzuzGgvx7ZtKh87fiixessEVmE9TUwHx7peRI/UPgLo3 s3ueM4iUH8DpZ8xIfc7hE+sceeCeWO2PAXyzuPy+FuVb9YhUwCQkqhp+zvXXKSHHA5s3 id1qFxFj5j0fxQKo9fWOaGFfR1yFgN04C/+XMiZ2Ygv5DnLQvDWAHCIsYuuknbhZYAbT E2naXcSZ0Rk7bwFoG2YEmEJfpOSg3D+6NYDH2A0JMO2EKfgH8rbd+uvZOCLLkkXJIgD+ f4Aw== X-Forwarded-Encrypted: i=1; AJvYcCUmtlUbyMU4HbAKWZBaDdQqpbJREaR3nF7Q8YGFp5qzrkUp2J+taEM7n9OsT7hBECUdr1OsSmlveg==@kvack.org X-Gm-Message-State: AOJu0YxMzW9TMd0BPjYQGgzI7ATLbvGaEgEzxedMbJMgA8Zz8OlY8rU+ 3F+jxIMeHWJEEwMoiRdjM1O9ToFiOTZFIIxNXWzdpEmwR26lG7AEWP8nJ/2vwKRqaP6ssLJWmA1 L8tMlIf9GkNmCd1Zy+tDnolZL3R0tRRqJfxw= X-Gm-Gg: ASbGncvkmQvRCV+tfVUNqJ832TGjX7cTCqUTCqsL0bfkx+VZfXAD0A9QV8LPh2amGKn 1FnDW1IVBn2LVKwJ8wwyfaZat9aCgljlBT7qguPCgjPr63xKWY56pswOHmWeRW1yfOJyGog931j B3/G3Ggcx9Png+zHePzv9XlTY8LmLNavCSMWi1F3BjQHLmUr7WoP8iO6C27w== X-Google-Smtp-Source: AGHT+IGLgqTmt1SDyAD0npx1AoBzMAH3/wL78InRxx9wcGrHh376yvWmApG86TD6jVVvmno+Mrl+M1sPXtYY48F+++4= X-Received: by 2002:a05:6214:268b:b0:6e8:9e9c:d212 with SMTP id 6a1803df08f44-6e9004f8506mr237299696d6.0.1741625894265; Mon, 10 Mar 2025 09:58:14 -0700 (PDT) MIME-Version: 1.0 References: <20250307120141.1566673-1-qun-wei.lin@mediatek.com> <52896654fa07a685707b11cfcc141b038a13b649.camel@mediatek.com> In-Reply-To: <52896654fa07a685707b11cfcc141b038a13b649.camel@mediatek.com> From: Nhat Pham Date: Mon, 10 Mar 2025 09:58:03 -0700 X-Gm-Features: AQ5f1JoVlbRC8ML7j1bVCk8yzJp1pkIWgzfAiwocC8Jva43BmjLh8eyu6rj7o_I Message-ID: Subject: Re: [PATCH 0/2] Improve Zram by separating compression context from kswapd To: =?UTF-8?B?UXVuLXdlaSBMaW4gKOael+e+pOW0tCk=?= Cc: "21cnbao@gmail.com" <21cnbao@gmail.com>, =?UTF-8?B?QW5kcmV3IFlhbmcgKOaliuaZuuW8tyk=?= , =?UTF-8?B?Q2FzcGVyIExpICjmnY7kuK3mpq4p?= , "chrisl@kernel.org" , =?UTF-8?B?SmFtZXMgSHN1ICjlvpDmhbbolrAp?= , AngeloGioacchino Del Regno , "akpm@linux-foundation.org" , "linux-kernel@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , "ira.weiny@intel.com" , "linux-mm@kvack.org" , "dave.jiang@intel.com" , "schatzberg.dan@gmail.com" , =?UTF-8?B?Q2hpbndlbiBDaGFuZyAo5by16Yym5paHKQ==?= , "viro@zeniv.linux.org.uk" , "ryan.roberts@arm.com" , "minchan@kernel.org" , "axboe@kernel.dk" , "linux-block@vger.kernel.org" , "kasong@tencent.com" , "nvdimm@lists.linux.dev" , "vishal.l.verma@intel.com" , "matthias.bgg@gmail.com" , "linux-arm-kernel@lists.infradead.org" , "senozhatsky@chromium.org" , "dan.j.williams@intel.com" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: j3rep9oonhhh7een8yyk54yhaqnuajxw X-Rspamd-Server: rspam05 X-Rspam-User: X-Rspamd-Queue-Id: 41E644000A X-HE-Tag: 1741626213-566103 X-HE-Meta: U2FsdGVkX19dLBSsnApdn9h3GXORjRMJ1GxArZsUIxb1rJKAaqAQSXQTNewzsiq3siJnc6srT1RZw9S3pMKBx9ODziCiS0GMHB0bJgEm97O7sxaSjpDw4zxllLyGo8CWKfOOsOUgJBQqNVwJE9+jCVtcel10NKegCznTLV6zuqCY5R4CujG+1bJcrLNEa2uhqss4/UicbwB4NKK2CxMq4o8RTTAE+2rWX6HgLrrMzBGMAGGmf/CeNlnzQGtPdIR9oipSBvrlw9hmWbT3KX/yRpL0Ha0SdqWqCOJ1I5Fu6Ht2dSpopFO5ynl93GsRCPTVOUvm3uXJF5cbp5dAFEKUOJ9Go5JV/V+Ri3QedCeq4ELWlYxbrUlD+f+Z1JaDEGgjR2d+P5cf9XyQuolTLT1WaXk3YICgC/8cHJ88jJEG+uT+F0l7qlyrZDBDZzERgTtZEdoDQ7vBqdv+iAPPl+idX33jRV2GKOgCM6hCZtzw1fZgVgIG6M1quwjzl1vH8H5aEVxZZ59EagqsWx1Y9LP6KhToBhP7uquEszAKlsKAvDl+7V5l8r4VaNTZkqJgkMQF8dAlcOpCVcNCwDTR/UQ+H/nezEQstA2H04YXsw/fOwPnqNZqFBWZsQm6hfztTTQl2nOgvnlXLnfNaFLANTvHEGDcj6XThHWiMXBYfvTyzAs/xOhoBqKIX5XJfEJkbNF+fObG/iZzi3QAlkbR4LFfdDhJeRGKl7DaZylPRmHwqhceCGM4mI9wmCFObSvruxKbp0lg+g7lPcIemw7WhtQLIhHC2p/he598g1rB/Za3XdeZpNh6cJs+d1kdCq8Ri90NaT/Cc6NOccEb6KpLfhq3HjkiI7nc4RJINBuXFyxsZR3HVL3BreuZsRC3mHQuc+JrJfyFuSu+j2EN6REdVcMsKmX3AEA3eO3rjXLH3RlLtQ4EaEhhE0c6m+UTKOqmYggqw5mWhpPgUBzGSkb7bzR 50gEzqjj Eg4i3aN8eEEJ5rTtcHAT0tj3drO/QFDX3i8bB8MKqxCtYJ+NjAFVKM1FeibDVrgXMEaLMvMYAVq6tBlkNT37RhsqI7+DFvYwaY37iaHBaUGh3xBua+JAlD4/Ylj5NA1WICrBPG2O9lSSC58ESRrtrSDIWOXOs9qB06NHBIwl2gh0ntQ7B2y0Xd8bindaMkqW7HScQriBmKOZNvSpO7kYeBqZt+nQqn+1mKfYlrMILjZJrvy+9HxA5U/YmsLcY0QPzfHpnvjpGdR41pTAjiDB71YEEOZPnMoq2CiORSQFhXJB1ZyIHX4XDh+agoOq/J6asTNjZea0EA7S+7babFuTgk/hrBQI84aKj+9wqKq4h+5pVo3XlLnYAWG18WeJALmmq90ZZosBt0rex3F1PZ6mCrcTY9TAzFtVKj/pWgSLtac2a/mYL+nRejzM4yWEbl49m1nFwOk3j1RKxvP0= 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, Mar 10, 2025 at 6:22=E2=80=AFAM Qun-wei Lin (=E6=9E=97=E7=BE=A4=E5= =B4=B4) wrote: > > > Thank you for your explanation. Compared to the original single kswapd, > we expect t1 to have a slight increase in re-scan time. However, since > our kcompressd can focus on compression tasks and we can have multiple > kcompressd instances (kcompressd0, kcompressd1, ...) running in > parallel, we anticipate that the number of times a folio needs be re- > scanned will not be too many. > > In our experiments, we fixed the CPU and DRAM at a certain frequency. > We created a high memory pressure enviroment using a memory eater and > recorded the increase in pgsteal_anon per second, which was around 300, > 000. Then we applied our patch and measured again, that pgsteal_anon/s > increased to over 800,000. > > > > > > > > > > > > Problem: > > > > In the current system, the kswapd thread is responsible for both > > > > scanning the LRU pages and compressing pages into the ZRAM. This > > > > combined responsibility can lead to significant performance > > > > bottlenecks, > > > > > > What bottleneck are we talking about? Is one stage slower than the > > > other? > > > > > > > especially under high memory pressure. The kswapd thread becomes > > > > a > > > > single point of contention, causing delays in memory reclaiming > > > > and > > > > overall system performance degradation. > > > > > > > > Target: > > > > The target of this invention is to improve the efficiency of > > > > memory > > > > reclaiming. By separating the tasks of page scanning and page > > > > compression into distinct processes or threads, the system can > > > > handle > > > > memory pressure more effectively. > > > > > > I'm not a zram maintainer, so I'm definitely not trying to stop > > > this > > > patch. But whatever problem zram is facing will likely occur with > > > zswap too, so I'd like to learn more :) > > > > Right, this is likely something that could be addressed more > > generally > > for zswap and zram. > > > > Yes, we also hope to extend this to other swap devices, but currently, > we have only modified zram. We are not very familiar with zswap and > would like to ask if anyone has any suggestions for modifications? > My understanding is right now schedule_bio_write is the work submission API right? We can make it generic, having it accept a callback and a generic untyped pointer which can be casted into a backend-specific context struct. For zram it would contain struct zram and the bio. For zswap, depending on at which point do you want to begin offloading the work - it could simply be just the folio itself if we offload early, or a more complicated scheme. > > Thanks > > Barry > > Best Regards, > Qun-wei > >