From patchwork Fri Jan 12 19:31:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yosry Ahmed X-Patchwork-Id: 13518681 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 201AAC4707C for ; Fri, 12 Jan 2024 19:31:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 92F0A8D0005; Fri, 12 Jan 2024 14:31:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8DEEF8D0003; Fri, 12 Jan 2024 14:31:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 77FF98D0005; Fri, 12 Jan 2024 14:31:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 663C28D0003 for ; Fri, 12 Jan 2024 14:31:08 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3BC96120656 for ; Fri, 12 Jan 2024 19:31:08 +0000 (UTC) X-FDA: 81671652216.25.B7D6FA3 Received: from mail-yb1-f201.google.com (mail-yb1-f201.google.com [209.85.219.201]) by imf23.hostedemail.com (Postfix) with ESMTP id 714E2140009 for ; Fri, 12 Jan 2024 19:31:06 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=nqK9XTOa; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf23.hostedemail.com: domain of 3eZOhZQoKCFoQGKJQ29E658GG8D6.4GEDAFMP-EECN24C.GJ8@flex--yosryahmed.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3eZOhZQoKCFoQGKJQ29E658GG8D6.4GEDAFMP-EECN24C.GJ8@flex--yosryahmed.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705087866; 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:in-reply-to: references:dkim-signature; bh=zcB+CUweXKRRwTEVx+dPw3m+uDfT/oMzwKpBe0EWZg4=; b=y4oSc6kD8fPuqjsrvrbndvssDSyy7jq+XfZKGQhfmBu/9l2b57O9u8lIPVhX41bemc8mDP FPFD0jFHG30AEDprgXEbJ+gnjAWLeKITCRJGnVNZKnpVZIbbHzauKumRJzn5OVSZN4PBGg vwd4adxhgro7TVanP3ry52w6aT4J5EU= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=nqK9XTOa; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf23.hostedemail.com: domain of 3eZOhZQoKCFoQGKJQ29E658GG8D6.4GEDAFMP-EECN24C.GJ8@flex--yosryahmed.bounces.google.com designates 209.85.219.201 as permitted sender) smtp.mailfrom=3eZOhZQoKCFoQGKJQ29E658GG8D6.4GEDAFMP-EECN24C.GJ8@flex--yosryahmed.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705087866; a=rsa-sha256; cv=none; b=Qe9++vxWGpFl6vefL9X0DhjkYEt0BW23ADQ9rdYPfKJ/UyVfKvXMK2vKqsOAoiRH3uXf7q Gnrz+0842ehZGy4NJepVb3Ls9NGjhIClsBSyvaBSQnn/zYKGYbrspV92NbJsLH9aRzQD4K /dj+fU65TWGNVW4YHk4gfVKCyko6hrE= Received: by mail-yb1-f201.google.com with SMTP id 3f1490d57ef6-dbcd9f4396eso10118447276.0 for ; Fri, 12 Jan 2024 11:31:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1705087865; x=1705692665; darn=kvack.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=zcB+CUweXKRRwTEVx+dPw3m+uDfT/oMzwKpBe0EWZg4=; b=nqK9XTOaq7QH5DA/slkwAWj/zp2Xca6Hhblp0ttMHKto60ta8D0BJd1mL3ZU/M9k91 WvnecpDaVa0xwfMTBIpovswLP9yiKtH/2SKeU08eFoIgM48BhJ/DRDI5FM9rPahYbXf/ YpLO+olCQdri//0gM40NnGWB47Nr6lPca3JaA7dnKclVuWFNZIk1W8I3H94C9HbVZEl5 zo3p/8O2ZmxtFvH+yVvcP0rv9NSYdY7R/2zz2PPrQpfR8HSci13ZiYhneUKNM56omC+l r/+XUIs7l/vLp5Z0OMyuf0GlGmMYqGv5NqewGLvdSUzWH7OOXgY4jXRJ0xmiewLdnDC/ CCeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705087865; x=1705692665; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=zcB+CUweXKRRwTEVx+dPw3m+uDfT/oMzwKpBe0EWZg4=; b=PHEwgAxBF2MXEc105CEEt4/NCqS1FMJIaVszdBqQxZSXA6SPBr/Iob6evIsGcggXGa MQzLVO7kOkqMi9CKI8da2oMKeRqsc4e8WE3G7iru6292C5GEQLhA2/I8RJObpsGrTrR7 Afmam14bi3bdcwmrdzxv8AMnbTGGlhMe1U3VxSZhdJ4rHgCwKRm1DZFhc2RjO9HJwN4E l6L3TnXNWUaK9KsEOcT+WAfsK1So1aq8AILkoejdslw83q80Z3OA+ujEAArnu10snh01 WwzFVk4hIrtsvGV2eJu1PBtNHcRv5Jh5mLttikpq99A2jODfIHKra20p9+kS1eNiWBKD jtlQ== X-Gm-Message-State: AOJu0YyFfz2h8onEvu2dXTjJr7eLd0EpprWe7hi53QmpLToNhoPU/hC2 A+33+RWUxOe28ALy3hAgk2Nogb8sh0Kgf3Mjon5W/Lg= X-Google-Smtp-Source: AGHT+IHXfXlLCPAaZRRjOmLUIRThqdt/F+b/7UzcDXbsb8hupk3oS/NFXVxFBaFHFuKSENWk6NaW7A8MSkPs/nbY X-Received: from yosry.c.googlers.com ([fda3:e722:ac3:cc00:20:ed76:c0a8:29b4]) (user=yosryahmed job=sendgmr) by 2002:a25:8246:0:b0:dbd:748c:fbb7 with SMTP id d6-20020a258246000000b00dbd748cfbb7mr586650ybn.0.1705087865498; Fri, 12 Jan 2024 11:31:05 -0800 (PST) Date: Fri, 12 Jan 2024 19:31:03 +0000 Mime-Version: 1.0 X-Mailer: git-send-email 2.43.0.275.g3460e3d667-goog Message-ID: <20240112193103.3798287-1-yosryahmed@google.com> Subject: [RFC PATCH] mm: z3fold: rename CONFIG_Z3FOLD to CONFIG_Z3FOLD_DEPRECATED From: Yosry Ahmed To: Andrew Morton , Vitaly Wool Cc: Miaohe Lin , Johannes Weiner , Nhat Pham , Huacai Chen , WANG Xuerui , Michael Ellerman , Nicholas Piggin , Christophe Leroy , "Aneesh Kumar K.V" , "Naveen N. Rao" , linux-mm@kvack.org, loongarch@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, Yosry Ahmed X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 714E2140009 X-Stat-Signature: sbmobnpm6g4pz3c5rdc1qkte44gup6wh X-Rspam-User: X-HE-Tag: 1705087866-322036 X-HE-Meta: U2FsdGVkX1+0c5V+Iet7GaxL7FVYwVNvP3xd7I4DEmV1XCmmWJX2Rgvuatuk2wdryEKt02Ebe6qUdEtEgLQXISeQZNZztehv5SzGh8wGoidq7JmdaXdBEstVIgjujUk/msXJAHRw1uKHKducYESt6BFOBIwz7d+tZwo5M8/kuwe23EYoUijgaoPXPnTpQ0UkczttIPjFQLMWhJ9LPJ/xhvKc4U3SYJw+MFgi6tB0r9DtzLWyyPQX4qzZ2qj0k9TN7NOxOHKQ9IM1XH9sRnv8T/jENFZYdoZARQfYfCW71tq49oAAIVvexhacijkwc3FAy0jODWxu8/oqlnddw/r+yP7ZQ/BzDN+beBIULOguBYHWMjSrmJKp5AbGJJIOv2h0aZoA9xVNcRxOm8D1JkF4GnU0mf6gQJaMvMLJBjm9lWtELM2Tl46VSx3ph2dzCh68SZPplZTkDAcEh+EDBLJoSuHex3eAA5scJU3sTmE8I/WifIvrcMMRFTJ9dIggG00c2/noRRtIdbQ7f63QIPlzrplsBI+Lxw0IKuoCMm8aL8giHEE9fd/u/UZ32JGeQJi2cvZjUZ+aeLWTfy0j5z4rQoKUIASxXsvWdRt+mI9/LHccS0wtwSHf0eJXuFJNwiEwoT14jk3DeEQv7Sh0hSCSZU21nuSHQ0ythQZzxptA1NH2xu7lhEvWt9BilQZwhTXJK/Hk0Z2Q70lUkDSYXIXFI/NrtS40a/yGTzjCyfSsvvUPOLhJkVzXYH/OpGiPxb0cqVp1hVT3xZviVLOzq3oAza0Gs58h6G37buuq0T9Q3bbUUhM55XkhUsLO534g5fwgAXmbwE8hwzr84/9XX80Y8dGvt/9SnXuL2qNkpuZuJcq3zPADKOO2Jp1ackdVvsRMzoGDIlMtrIelRNgtoiCBXtywBWarMe+S9TdqQ+D0Ii/SRMiQx05ML0P9wOF+ipZWS9vN73jAV3DKXloPXWj VDEPMD9e mborFna7sRy+3zf3dnZ/1VuRXr69y27OkcWyzMz+yvPOb0ge4OQOp6kbKwff8pLuu6l3LooKnZ0W6tg+PDcDi7yTFhzcBIIRHO3yZjAixnCQnkEf5g6+lMxzah6E+G/xBg8RqedRT3vlEI3YGLOpctOLbZTGb82vrGfgxeaCQnS4OjcZndTtmyWoJwQ+dEcV9vZJD8jD4zxNT2BuefZ4la6mmLjsRt98l5NRxYdMuhJdu58fkSZs9uHZ5auERgXda1kxuPR1W188bN9JGcR7fV1C+qWl6hskJGeLDkxvVLNDcwGWIdvE6d9+Xsv/N8UYfIvZaEDVBeeMkp6Rckd/ODfDJPbCP1/RhkuwQ902stRoEhr2/j3FGqumgywwOW/7EnUaE8rsj0k/TfxiCdEOTSYhQtgSu5V4dMoqhcqFjd7S/MRg2nYfpgLLWDijNgqudyaXIECMiOV3hOtaRiaN4YrE2FamChhaWHqxphFzjUR4Uc8slvA4gcxm3gBbEfr4mTnZzMWg4z8W5+3uQ99mhc7hZIX+KxdrK7Q05ImhNodWZvFide/3mCtO7zsQ/PHPjlxGS4ls+nxnc/NtS1q+BnY+wbV3yQxFquCRwIkKkahx7ivkA4VKJgti6qcPc7jn1JwBWBJWUZxZO4reFR6zxiG41VFztSk5EQ0Em4PKDivYdRuWuXRoQNHr/qDBEQQIG1AOCJvWJMjkwb9lCYWhKkz5irw8mvLXEm7uBPa60r9Rilv9QmeqaE9Ab8FZc3KQCKc+gA2l7Pff20KU= 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: The z3fold compressed pages allocator is not widely used, most users use zsmalloc. The only disadvantage of zsmalloc in comparison is the dependency on MMU, and zbud is a more common option for !MMU as it was the default zswap allocator for a long time. In hopes of having a single compressed pages allocator at some point, and following in the footsteps of SLAB, deprecate z3fold. Rename the user-visible option so that users with CONFIG_Z3FOLD=y get a new prompt with explanation during make oldconfig. Remove CONFIG_Z3FOLD=y from defconfigs. Existing users, if any, should voice their objections. Otherwise, we can remove z3fold in a few releases. Signed-off-by: Yosry Ahmed Acked-by: Nhat Pham Acked-by: Chris Down --- I have limited understanding of Kconfigs. I modelled this after commit eb07c4f39c3e ("mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED"), but one difference is that CONFIG_Z3FOLD is a tristate. I made CONFIG_Z3FOLD_DEPRECATED a boolean config, and CONFIG_Z3FOLD default y so that it is on by default if CONFIG_Z3FOLD_DEPRECATED is selected. I am not sure if that's the correct way to do this. --- arch/loongarch/configs/loongson3_defconfig | 1 - arch/powerpc/configs/ppc64_defconfig | 1 - mm/Kconfig | 13 +++++++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/arch/loongarch/configs/loongson3_defconfig b/arch/loongarch/configs/loongson3_defconfig index 33795e4a5bd63..89b66b6c6a1d5 100644 --- a/arch/loongarch/configs/loongson3_defconfig +++ b/arch/loongarch/configs/loongson3_defconfig @@ -85,7 +85,6 @@ CONFIG_ZPOOL=y CONFIG_ZSWAP=y CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y CONFIG_ZBUD=y -CONFIG_Z3FOLD=y CONFIG_ZSMALLOC=m # CONFIG_COMPAT_BRK is not set CONFIG_MEMORY_HOTPLUG=y diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig index 544a65fda77bc..d39284489aa26 100644 --- a/arch/powerpc/configs/ppc64_defconfig +++ b/arch/powerpc/configs/ppc64_defconfig @@ -81,7 +81,6 @@ CONFIG_MODULE_SIG_SHA512=y CONFIG_PARTITION_ADVANCED=y CONFIG_BINFMT_MISC=m CONFIG_ZSWAP=y -CONFIG_Z3FOLD=y CONFIG_ZSMALLOC=y # CONFIG_SLAB_MERGE_DEFAULT is not set CONFIG_SLAB_FREELIST_RANDOM=y diff --git a/mm/Kconfig b/mm/Kconfig index 1902cfe4cc4f5..bc6cc97c08349 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -193,15 +193,24 @@ config ZBUD deterministic reclaim properties that make it preferable to a higher density approach when reclaim will be used. -config Z3FOLD - tristate "3:1 compression allocator (z3fold)" +config Z3FOLD_DEPRECATED + bool "3:1 compression allocator (z3fold) (DEPRECATED)" depends on ZSWAP help + Deprecated and scheduled for removal in a few cycles. If you have + a good reason for using Z3FOLD rather than ZSMALLOC or ZBUD, please + contact linux-mm@kvack.org and the zswap maintainers. + A special purpose allocator for storing compressed pages. It is designed to store up to three compressed pages per physical page. It is a ZBUD derivative so the simplicity and determinism are still there. +config Z3FOLD + tristate + default y + depends on Z3FOLD_DEPRECATED + config ZSMALLOC tristate prompt "N:1 compression allocator (zsmalloc)" if ZSWAP