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 5010CC3ABBF for ; Wed, 7 May 2025 15:01:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 687C66B008C; Wed, 7 May 2025 11:01:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 60FB36B0092; Wed, 7 May 2025 11:01:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4B2276B0093; Wed, 7 May 2025 11:01:15 -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 26AE26B008C for ; Wed, 7 May 2025 11:01:15 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2B195BF816 for ; Wed, 7 May 2025 15:01:16 +0000 (UTC) X-FDA: 83416424952.13.66FC11A Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by imf10.hostedemail.com (Postfix) with ESMTP id 6C5B6C002C for ; Wed, 7 May 2025 15:01:12 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DmGevJlA; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.219.48 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746630072; a=rsa-sha256; cv=none; b=7VFw0l5qQzg4EmrGheG1dQCGDGs7hJIId4RzKeKhtNDdSFfaWzG90oA1jIasLoa5IKqXMH u99CI60zA3xQUCQ/XnmPjL2YC3IMqv9/UNxYUuureXL2CzclRQxFyx+Y1I/F+Xey+r+/Lo Dd7PeecdZeg2FtpZIyT5iELboGppi+Y= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=DmGevJlA; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.219.48 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=1746630072; 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=6P88DLJwjZTV6+YJp5PA5/tnjoUbLaNgJShCD98PEJw=; b=gCWA1mnErGMrwIoUi2+uM9IzK9PI6zXv9+o3IhEmp6KN1lXtO+kMPYWzqKuh1bCkl/YkpE BoSv89HM6Wu6R9mj9KXLpVqotTnOGrvFHPTJti1BppGUGcuF4Du1CC6TgECtM6x5p6y2mh G2+0ptKNpMEWA9dYmVwMdRq6s5jfh08= Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-6f544014883so128836d6.0 for ; Wed, 07 May 2025 08:01:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746630071; x=1747234871; 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=6P88DLJwjZTV6+YJp5PA5/tnjoUbLaNgJShCD98PEJw=; b=DmGevJlAH9EMcLOaWXbd/mJb1y/4VV7h65I/wtTiV1M/zKW2+VmgyhQ85VwhMssYCo NVOhmInnQ6K/jBmyi1IQrIYoM4ROo3sa7kinX6nbNNyyXszoiH3MpcVb0x7hO/lO0UGB L5zSoekzt3/ZoqXfHQhzcYQu/z4d4LmQ5v+/Vfn7iC85T/5N0b8q/BzygEX9kO999c86 5VNJU/KEvDsW5g58kkvWKZJFvU6EDhuh0IFcgJZ2BYcoMVF+83IFR4hJaURlYgG+ROWi uOhccs88Qaz+RAk/w0BkMYJ5kwm9GISgC7U+loXo0Kj7nwJdhko03Df+a9UPlqvWc7fw iIuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746630071; x=1747234871; 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=6P88DLJwjZTV6+YJp5PA5/tnjoUbLaNgJShCD98PEJw=; b=q5x7PAchz/i2vHYgQFb7SEEa9LPKv4/O6hV/HO3YbW2HKH9fG2adbXP/uKVb6IcFcc jqwxHrmgbCUYjbic32DSFfKzqA20sPrf94EDobJNjiIUHWkcjdBwfLHLCbtJT1qy9XJi LF3s8HeN2yAGnEf84Kxy7enM7jNUSMTDGWGkIvxNY+nOMv8c6aBNxEQIPnoy8c7NsGw+ xd+eqyCPB0u4tbNplMtLKf7BlPqThCbhXq0W+UduxgUqxMRDm/hVPmdNjgRy5KgSGa6O H0NZDKVzxFgJo9I5vfdI3HkLozPcvMBw4klya5Qt+KBHQhsGL5wtWyERHBa9Fwk6zcMk q16g== X-Forwarded-Encrypted: i=1; AJvYcCV4bcmiu+8BMWttui2V7lomuAsTrvKh3urOq39glZZc50VQcVP1ypT4P1UKtXz/W2FkRsDQs5M+Sw==@kvack.org X-Gm-Message-State: AOJu0YztNEx/VZ78uZBMprgZDbMo3SDOKmcEtCkjh8z22QjzD5s0LTuA ZgXTcaR8hdXymLZuoqNdUK5QiJjEEkh4YoJkwqEdNPCZTwY5DuMdZR5qZHZFtB/6ysGi5TtwoME Qv9UtTO55tgBPJRWcap1sBbTodmA/JQ== X-Gm-Gg: ASbGncsgxn88pzKWEHepJYkJxoAPOPXOMqqbLlaqWz9FeIBFdwAfj5ueAXH7AZffsHZ 7JxK40f/GKdrfeJJ/UpEFa18GrThBMbybezt4izxGxKKZQ/LEf4KfENtlS4NZ71Vn39gJz1cdFJ WlIk3AccRbedObarTTfDnhbSU= X-Google-Smtp-Source: AGHT+IFFpBEl3tD+vAAO3AKleiaarL+ScnybGt92nCTf5nORPfhlz+Z0Rwo3ogxYQXshqUgF+V+GBVifm7gBsWgoZoE= X-Received: by 2002:a05:6214:cc4:b0:6e8:9a55:824f with SMTP id 6a1803df08f44-6f5429b354emr52557756d6.6.1746630070743; Wed, 07 May 2025 08:01:10 -0700 (PDT) MIME-Version: 1.0 References: <20250430082651.3152444-1-qun-wei.lin@mediatek.com> In-Reply-To: From: Nhat Pham Date: Wed, 7 May 2025 08:00:59 -0700 X-Gm-Features: ATxdqUEizMgKIBqWKtTySGenm7msLmuvbZBCtMD6RABSUsHW1bY0saY3YhYcLjM Message-ID: Subject: Re: [PATCH] mm: Add Kcompressd for accelerated memory compression To: Barry Song <21cnbao@gmail.com> Cc: Zi Yan , Harry Yoo , Qun-Wei Lin , Andrew Morton , Mike Rapoport , Matthias Brugger , AngeloGioacchino Del Regno , Sergey Senozhatsky , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Casper Li , Chinwen Chang , Andrew Yang , James Hsu Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 6C5B6C002C X-Stat-Signature: n6pspadoxezqktdfkrbzorgojrfax4y8 X-Rspam-User: X-HE-Tag: 1746630072-57038 X-HE-Meta: U2FsdGVkX192vDVJEE1BlMg/q38RlrB/9z/QApIa1uB53rHSsjETyg1OddaCeGpyNo7vd3InyHqOti5oEMEhQQ9AcXeXdlNgd8atcL47wxgbOq0mUFBSRkw6Z/Vgxy8hUpv5oGu+g357m1rycft7dALHSZIvTS+mwCyEO4H3oTrSXR6G/TY/nNYkACYHiARBRfZCq4a5LpY53kcgOAKbZqsQE/70eYPe34abktfU/hSq+6lmzUfVgYLbnHU/VfFoDhM3DkgfDr/hVb4pmHGo6vQMoXorrcWEGKj/aGzSMNvJVye3qB1M28e5xxfCiGM9Em5Zlxrigbcu4bRVk993r8yOLRZRPDWomyqAitQaUeCbjuggLc3zXHf/oocaE4lqBKuOmxzDm5RVCfSQ/4Okra/nzIL0nKMOCWKo9kIFYFTi6VCTYRB8DhOyu7bqfAmQcH5pN2IjzpQZeb0ck/r+E0q78VpMa466dLPX7Atohp5UzhE2yTUkrKpvLPaxWqzvbk0zFMlgM6jE2ICBswnrRMaUIayu+bq/Gg8uoMs7A0rocHCQzwAJk5DLMg5oV/SkrHwlQ+QDyA3Rox2JCO+IaleVtB9j6yCAXphhyWzuEmBgyMTM1DNviXDR0k8q7jg5Fba4l0v6/iF766cntoj2v9WepYOVWn48gn7Idia6QdEKSxUPYPw+KwKiBVLrEbjKreoaJHuGFldQnHpNQzBN1P94f4tR1C5eXJcxIsDQknJ1DuBboL00Ky8TrEAILdCjH3yGIu3Uv2Aqptshokg9aVwU0u1SevWZloLcb1UcYJZnCoHbut7Ukp+IXnrq31xdi3VCzVzp4Zs1+u7fvDPUOdC6Bjmlzez3FaCFBzlkAwTDOmSMEHB5pOT3x77wTyHXy0XZDUksI5wEBjTF56Yig30UO3Vy4y0iBsJkXbVZOiQyFcRGAEBcR0YD8pXV2nDXAAw5k7NmHra4VGBb/6g ZIDeHmGT HLZm16H95gacePuhPUIVowUpWxqZTJi3mx7ZQ3EGntuK4DVO84C7Z79wu9D6pmf8xerk6j7nluK3zJk/ZJy1fvPylNnquHyWIP0haRq5xrJ9UcZZHrI/h1GDRlLXFhh6jXf7dIwXkePC9gcyI9uwQA/+JO1i50bzwKqRB9AxWwbpbeeWWt+G9iN4NtGxqXlr3qdFbYYy/kwEaWH2QaMSFMe4BJW2+g0lH6ftqi/JnHjww3HfJK4OB0cTqOROZYjLk+5gUcewXS5LHwDCY4XVPQA1Gj4VP+D75DyGTOzNzm7NG3iwX9p73HULv345i8qeSQI2Wp+yc0Wd7VbzdpnGS3jPL33EsN/tJjvNzRsHtm7pYkWSm4XV4G1nUdcVa7vZzQBXR8Nqq/zRIRGJoJznya5PWSIiSEyrQXFSez0DRKCPOGKF1FS23c4UmuPxG+WjUquaqZahT6gko/2SmuRyF+bWdUBaScjCP3/ivmKQSKJJ8cFU= 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 Tue, May 6, 2025 at 7:04=E2=80=AFPM Barry Song <21cnbao@gmail.com> wrote= : > > On Wed, May 7, 2025 at 1:50=E2=80=AFPM Zi Yan wrote: > > > > On 6 May 2025, at 21:12, Harry Yoo wrote: > > > > > On Wed, Apr 30, 2025 at 04:26:41PM +0800, Qun-Wei Lin wrote: > > >> This patch series introduces a new mechanism called kcompressd to > > >> improve the efficiency of memory reclaiming in the operating system. > > >> > > >> Problem: > > >> In the current system, the kswapd thread is responsible for both s= canning > > >> the LRU pages and handling memory compression tasks (such as those > > >> involving ZSWAP/ZRAM, if enabled). This combined responsibility ca= n lead > > >> to significant performance bottlenecks, especially under high memo= ry > > >> pressure. The kswapd thread becomes a single point of contention, = causing > > >> delays in memory reclaiming and overall system performance degrada= tion. > > >> > > >> Solution: > > >> Introduced kcompressd to handle asynchronous compression during me= mory > > >> reclaim, improving efficiency by offloading compression tasks from > > >> kswapd. This allows kswapd to focus on its primary task of page re= claim > > >> without being burdened by the additional overhead of compression. > > >> > > >> In our handheld devices, we found that applying this mechanism under= high > > >> memory pressure scenarios can increase the rate of pgsteal_anon per = second > > >> by over 260% compared to the situation with only kswapd. Additionall= y, we > > >> observed a reduction of over 50% in page allocation stall occurrence= s, > > >> further demonstrating the effectiveness of kcompressd in alleviating= memory > > >> pressure and improving system responsiveness. > > >> > > >> Co-developed-by: Barry Song <21cnbao@gmail.com> > > >> Signed-off-by: Barry Song <21cnbao@gmail.com> > > >> Signed-off-by: Qun-Wei Lin > > >> Reference: Re: [PATCH 0/2] Improve Zram by separating compression co= ntext from kswapd - Barry Song > > >> https://lore.kernel.org/lkml/20250313093005.13998-1-21cnba= o@gmail.com/ > > >> --- > > > > > > +Cc Zi Yan, who might be interested in writing a framework (or improv= ing > > > the existing one, padata) for parallelizing jobs (e.g. migration/comp= ression) > > > > Thanks. > > > > I am currently looking into padata [1] to perform multithreaded page mi= gration TIL about padata :) > > copy job. But based on this patch, it seems that kcompressed is just an= additional > > kernel thread of executing zswap_store(). Is there any need for perform= ing > > compression with multiple threads? > > The current focus is on enabling kswapd to perform asynchronous compressi= on, > which can significantly reduce direct reclaim and allocstall events. > Therefore, the work begins with supporting a single thread. Supporting > multiple threads might be possible in the future, but it could be difficu= lt > to control=E2=80=94especially on busy phones=E2=80=94since it consumes mo= re power and may > interfere with other threads impacting user experience. Right, yeah. > > > > > BTW, I also notice that zswap IAA compress batching patchset[2] is usin= g > > hardware accelerator (Intel Analytics Accelerator) to speed up zswap. > > I wonder if the handheld devices have similar hardware to get a similar= benefit. > > Usually, the answer is no. We use zRAM and CPU, but this patch aims to pr= ovide > a common capability that can be shared by both zRAM and zswap. > Also, not everyone and every setup has access to hardware compression accelerators :) This provides benefits for all users.