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 B36C5C4332F for ; Fri, 2 Dec 2022 17:59:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3F56A6B0072; Fri, 2 Dec 2022 12:59:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3A5B26B0073; Fri, 2 Dec 2022 12:59:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 245E46B0074; Fri, 2 Dec 2022 12:59:22 -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 11A186B0072 for ; Fri, 2 Dec 2022 12:59:22 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D81B6A5869 for ; Fri, 2 Dec 2022 17:59:21 +0000 (UTC) X-FDA: 80198128122.05.20BFDA9 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by imf30.hostedemail.com (Postfix) with ESMTP id 5697080019 for ; Fri, 2 Dec 2022 17:59:21 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=dabbelt-com.20210112.gappssmtp.com header.s=20210112 header.b=hKd2bbRv; spf=pass (imf30.hostedemail.com: domain of palmer@dabbelt.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=palmer@dabbelt.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1670003961; 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:dkim-signature; bh=S/g5uvnYwRmr+sEhxP8QlxzB990ZKGcFSKeR2r1HQQM=; b=4eDNTmrVDA8lqzm5FuIcrPxxBGqox7SNmZHvYXplVzhLyaUngfjzFpSgWO13iKnrCeUvdd GdCBhyaGAb6QRiM1Kq/vKDp5+xSr2Elrz7J05yIzdm3jOdcXHqslh1kpLzzRSDC6mBehBr 9s8ZfocEI9ixDnmBI34nfRxfYChq574= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=dabbelt-com.20210112.gappssmtp.com header.s=20210112 header.b=hKd2bbRv; spf=pass (imf30.hostedemail.com: domain of palmer@dabbelt.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=palmer@dabbelt.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1670003961; a=rsa-sha256; cv=none; b=6v0Qh0U4UcUboH+ca0h+/kXxHwuHQgtzD6izcjYtxW6DhSokUAAb3pfvcIoFghp5G8Xzwy xd7MuuEax/yp4ltqxbTUGQ81/uORXE7+imc2n9RfeWYLNSP+fVgG0zQ9F+b3NlCWU8q2Rh QhBHYqa/DUWo5PpxUT21+QBUH8+mO9k= Received: by mail-pj1-f46.google.com with SMTP id t17so5622332pjo.3 for ; Fri, 02 Dec 2022 09:59:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dabbelt-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:to:from:cc :in-reply-to:subject:date:from:to:cc:subject:date:message-id :reply-to; bh=S/g5uvnYwRmr+sEhxP8QlxzB990ZKGcFSKeR2r1HQQM=; b=hKd2bbRvFgxgtZ3+kjtTc3tknNO/vB/XvEb6+VDNMH84KLCdsNbCs4yclNkQ9q0SvS F+6SebZk9l6FLCm8I06gT8ZJfrTIdbAfhWFF3TqnHG+PSm+lTfBNI1SRoeES8Pkm3eob NW0t3ZIZcj9SORPQ/AuMRnh6ZEWUonOWXxDkVTSNLOXHfVdtPT9rb/vR2ldZnzeGHxTg bTOPJH/Ny9lcM/le8DPrkKDw6dP67j7JDJLejNmv8tP4NJdohUUbXMab+qH/pJMIh7xy uSd3bIVh8Z9TDPyyXfmw7emBWFkD6abT5lUOXkNQD2bpFm6MAiAormYrJ4HHebeNxFKY cq8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:to:from:cc :in-reply-to:subject:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=S/g5uvnYwRmr+sEhxP8QlxzB990ZKGcFSKeR2r1HQQM=; b=Fx+pJEOwQPW+US0/B3SJC6L08vwre4mPdOSv3hBBHvLg9IjlSyaV7C+WUQq0NOBPkl Yt5yrNL/7uSVpxgqQIUnlh12Y58uhgpaQxh06Qyr8V6EtQ30pDgIcMPa/2iWGCdjerlf LDPtrWiO3Ky3jKtzBrWJy7k1qLfErV7auOwKzC8KdGrxPKiFK0Mc0SyWkVThpE8Wlw2u z+j+ptKEEeCxe2I054iMQ/eBnjbWKdwx3/9fLkAKSsCVWz2kxjvlk9tazzDzcF8Skx/o FYqY56yVwGcnP7MfrLBmthcKPrtQL/jJ3Xp2XYLEP9qLU/AIAMSxA5Ycmga6PkVHNO+K 2Q4w== X-Gm-Message-State: ANoB5plcu+jZwgRUZt254T6rdP3RkJ34SkAsT654rFvQoqtlGaTuJ266 4dXxop/6dJ3QsBqUhlHbbG+FCg== X-Google-Smtp-Source: AA0mqf4EAYlfKGmJpNuAVg/4gPX8vH+N4DLNdOuDKE1pDeWtyWMiecWeRuBd3+Fo+nZ/rKUQH1tN+A== X-Received: by 2002:a17:902:7584:b0:189:6292:990a with SMTP id j4-20020a170902758400b001896292990amr38759413pll.171.1670003960005; Fri, 02 Dec 2022 09:59:20 -0800 (PST) Received: from localhost ([50.221.140.188]) by smtp.gmail.com with ESMTPSA id p9-20020a170902e74900b0018948b0082asm5948744plf.140.2022.12.02.09.59.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Dec 2022 09:59:19 -0800 (PST) Date: Fri, 02 Dec 2022 09:59:19 -0800 (PST) X-Google-Original-Date: Fri, 02 Dec 2022 09:59:08 PST (-0800) Subject: Re: [PATCH 12/12] mm, slob: rename CONFIG_SLOB to CONFIG_SLOB_DEPRECATED In-Reply-To: <20221121171202.22080-13-vbabka@suse.cz> CC: cl@linux.com, rientjes@google.com, iamjoonsoo.kim@lge.com, penberg@kernel.org, 42.hyeyoo@gmail.com, roman.gushchin@linux.dev, akpm@linux-foundation.org, Linus Torvalds , willy@infradead.org, patches@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, vbabka@suse.cz, linux@armlinux.org.uk, aaro.koskinen@iki.fi, jmkrzyszt@gmail.com, tony@atomide.com, jonas@southpole.se, stefan.kristiansson@saunalahti.fi, shorne@gmail.com, ysato@users.sourceforge.jp, dalias@libc.org, Arnd Bergmann , josh@joshtriplett.org, Conor Dooley , christophe.leroy@csgroup.eu, geert@linux-m68k.org, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, openrisc@lists.librecores.org, linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org From: Palmer Dabbelt To: vbabka@suse.cz, damien.lemoal@opensource.wdc.com Message-ID: Mime-Version: 1.0 (MHng) Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 5697080019 X-Stat-Signature: wp9bswf139fze98rbpmignwk4idp4ox4 X-Rspam-User: X-Spamd-Result: default: False [0.60 / 9.00]; BAYES_HAM(-6.00)[100.00%]; SORBS_IRL_BL(3.00)[209.85.216.46:from]; SUSPICIOUS_RECIPS(1.50)[]; SUBJECT_HAS_UNDERSCORES(1.00)[]; MID_RHS_NOT_FQDN(0.50)[]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; RCVD_NO_TLS_LAST(0.10)[]; DKIM_TRACE(0.00)[dabbelt-com.20210112.gappssmtp.com:+]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_TWELVE(0.00)[34]; FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; ARC_SIGNED(0.00)[hostedemail.com:s=arc-20220608:i=1]; PREVIOUSLY_DELIVERED(0.00)[linux-mm@kvack.org]; ARC_NA(0.00)[]; R_DKIM_ALLOW(0.00)[dabbelt-com.20210112.gappssmtp.com:s=20210112]; DMARC_NA(0.00)[dabbelt.com]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(0.00)[+ip4:209.85.128.0/17]; TO_DN_SOME(0.00)[]; TAGGED_RCPT(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[] X-Rspamd-Server: rspam08 X-HE-Tag: 1670003961-181971 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: On Mon, 21 Nov 2022 09:12:02 PST (-0800), vbabka@suse.cz wrote: > As explained in [1], we would like to remove SLOB if possible. > > - There are no known users that need its somewhat lower memory footprint > so much that they cannot handle SLUB (after some modifications by the > previous patches) instead. > > - It is an extra maintenance burden, and a number of features are > incompatible with it. > > - It blocks the API improvement of allowing kfree() on objects allocated > via kmem_cache_alloc(). > > As the first step, rename the CONFIG_SLOB option in the slab allocator > configuration choice to CONFIG_SLOB_DEPRECATED. Add CONFIG_SLOB > depending on CONFIG_SLOB_DEPRECATED as an internal option to avoid code > churn. This will cause existing .config files and defconfigs with > CONFIG_SLOB=y to silently switch to the default (and recommended > replacement) SLUB, while still allowing SLOB to be configured by anyone > that notices and needs it. But those should contact the slab maintainers > and linux-mm@kvack.org as explained in the updated help. With no valid > objections, the plan is to update the existing defconfigs to SLUB and > remove SLOB in a few cycles. > > To make SLUB more suitable replacement for SLOB, a CONFIG_SLUB_TINY > option was introduced to limit SLUB's memory overhead. > There is a number of defconfigs specifying CONFIG_SLOB=y. As part of > this patch, update them to select CONFIG_SLUB and CONFIG_SLUB_TINY. > > [1] https://lore.kernel.org/all/b35c3f82-f67b-2103-7d82-7a7ba7521439@suse.cz/ > > Cc: Russell King > Cc: Aaro Koskinen > Cc: Janusz Krzysztofik > Cc: Tony Lindgren > Cc: Jonas Bonn > Cc: Stefan Kristiansson > Cc: Stafford Horne > Cc: Yoshinori Sato > Cc: Rich Felker > Cc: Arnd Bergmann > Cc: Josh Triplett > Cc: Conor Dooley > Cc: Damien Le Moal > Cc: Christophe Leroy > Cc: Geert Uytterhoeven > Cc: > Cc: > Cc: > Cc: > Cc: > Signed-off-by: Vlastimil Babka > --- > arch/arm/configs/clps711x_defconfig | 3 ++- > arch/arm/configs/collie_defconfig | 3 ++- > arch/arm/configs/multi_v4t_defconfig | 3 ++- > arch/arm/configs/omap1_defconfig | 3 ++- > arch/arm/configs/pxa_defconfig | 3 ++- > arch/arm/configs/tct_hammer_defconfig | 3 ++- > arch/arm/configs/xcep_defconfig | 3 ++- > arch/openrisc/configs/or1ksim_defconfig | 3 ++- > arch/openrisc/configs/simple_smp_defconfig | 3 ++- > arch/riscv/configs/nommu_k210_defconfig | 3 ++- > arch/riscv/configs/nommu_k210_sdcard_defconfig | 3 ++- > arch/riscv/configs/nommu_virt_defconfig | 3 ++- > arch/sh/configs/rsk7201_defconfig | 3 ++- > arch/sh/configs/rsk7203_defconfig | 3 ++- > arch/sh/configs/se7206_defconfig | 3 ++- > arch/sh/configs/shmin_defconfig | 3 ++- > arch/sh/configs/shx3_defconfig | 3 ++- > kernel/configs/tiny.config | 5 +++-- > mm/Kconfig | 17 +++++++++++++++-- > 19 files changed, 52 insertions(+), 21 deletions(-) > > diff --git a/arch/arm/configs/clps711x_defconfig b/arch/arm/configs/clps711x_defconfig > index 92481b2a88fa..adcee238822a 100644 > --- a/arch/arm/configs/clps711x_defconfig > +++ b/arch/arm/configs/clps711x_defconfig > @@ -14,7 +14,8 @@ CONFIG_ARCH_EDB7211=y > CONFIG_ARCH_P720T=y > CONFIG_AEABI=y > # CONFIG_COREDUMP is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_NET=y > CONFIG_PACKET=y > CONFIG_UNIX=y > diff --git a/arch/arm/configs/collie_defconfig b/arch/arm/configs/collie_defconfig > index 2a2d2cb3ce2e..69341c33e0cc 100644 > --- a/arch/arm/configs/collie_defconfig > +++ b/arch/arm/configs/collie_defconfig > @@ -13,7 +13,8 @@ CONFIG_CMDLINE="noinitrd root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1" > CONFIG_FPE_NWFPE=y > CONFIG_PM=y > # CONFIG_SWAP is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_NET=y > CONFIG_PACKET=y > CONFIG_UNIX=y > diff --git a/arch/arm/configs/multi_v4t_defconfig b/arch/arm/configs/multi_v4t_defconfig > index e2fd822f741a..b60000a89aff 100644 > --- a/arch/arm/configs/multi_v4t_defconfig > +++ b/arch/arm/configs/multi_v4t_defconfig > @@ -25,7 +25,8 @@ CONFIG_ARM_CLPS711X_CPUIDLE=y > CONFIG_JUMP_LABEL=y > CONFIG_PARTITION_ADVANCED=y > # CONFIG_COREDUMP is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_MTD=y > CONFIG_MTD_CMDLINE_PARTS=y > CONFIG_MTD_BLOCK=y > diff --git a/arch/arm/configs/omap1_defconfig b/arch/arm/configs/omap1_defconfig > index 70511fe4b3ec..246f1bba7df5 100644 > --- a/arch/arm/configs/omap1_defconfig > +++ b/arch/arm/configs/omap1_defconfig > @@ -42,7 +42,8 @@ CONFIG_MODULE_FORCE_UNLOAD=y > CONFIG_PARTITION_ADVANCED=y > CONFIG_BINFMT_MISC=y > # CONFIG_SWAP is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > # CONFIG_VM_EVENT_COUNTERS is not set > CONFIG_NET=y > CONFIG_PACKET=y > diff --git a/arch/arm/configs/pxa_defconfig b/arch/arm/configs/pxa_defconfig > index d60cc9cc4c21..0a0f12df40b5 100644 > --- a/arch/arm/configs/pxa_defconfig > +++ b/arch/arm/configs/pxa_defconfig > @@ -49,7 +49,8 @@ CONFIG_PARTITION_ADVANCED=y > CONFIG_LDM_PARTITION=y > CONFIG_CMDLINE_PARTITION=y > CONFIG_BINFMT_MISC=y > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > # CONFIG_COMPACTION is not set > CONFIG_NET=y > CONFIG_PACKET=y > diff --git a/arch/arm/configs/tct_hammer_defconfig b/arch/arm/configs/tct_hammer_defconfig > index 3b29ae1fb750..6bd38b6f22c4 100644 > --- a/arch/arm/configs/tct_hammer_defconfig > +++ b/arch/arm/configs/tct_hammer_defconfig > @@ -19,7 +19,8 @@ CONFIG_FPE_NWFPE=y > CONFIG_MODULES=y > CONFIG_MODULE_UNLOAD=y > # CONFIG_SWAP is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_NET=y > CONFIG_PACKET=y > CONFIG_UNIX=y > diff --git a/arch/arm/configs/xcep_defconfig b/arch/arm/configs/xcep_defconfig > index ea59e4b6bfc5..6bd9f71b71fc 100644 > --- a/arch/arm/configs/xcep_defconfig > +++ b/arch/arm/configs/xcep_defconfig > @@ -26,7 +26,8 @@ CONFIG_MODULE_UNLOAD=y > CONFIG_MODVERSIONS=y > CONFIG_MODULE_SRCVERSION_ALL=y > # CONFIG_BLOCK is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > # CONFIG_COMPAT_BRK is not set > # CONFIG_VM_EVENT_COUNTERS is not set > CONFIG_NET=y > diff --git a/arch/openrisc/configs/or1ksim_defconfig b/arch/openrisc/configs/or1ksim_defconfig > index 6e1e004047c7..0116e465238f 100644 > --- a/arch/openrisc/configs/or1ksim_defconfig > +++ b/arch/openrisc/configs/or1ksim_defconfig > @@ -10,7 +10,8 @@ CONFIG_EXPERT=y > # CONFIG_AIO is not set > # CONFIG_VM_EVENT_COUNTERS is not set > # CONFIG_COMPAT_BRK is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_MODULES=y > # CONFIG_BLOCK is not set > CONFIG_OPENRISC_BUILTIN_DTB="or1ksim" > diff --git a/arch/openrisc/configs/simple_smp_defconfig b/arch/openrisc/configs/simple_smp_defconfig > index ff49d868e040..b990cb6c9309 100644 > --- a/arch/openrisc/configs/simple_smp_defconfig > +++ b/arch/openrisc/configs/simple_smp_defconfig > @@ -16,7 +16,8 @@ CONFIG_EXPERT=y > # CONFIG_AIO is not set > # CONFIG_VM_EVENT_COUNTERS is not set > # CONFIG_COMPAT_BRK is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_MODULES=y > # CONFIG_BLOCK is not set > CONFIG_OPENRISC_BUILTIN_DTB="simple_smp" > diff --git a/arch/riscv/configs/nommu_k210_defconfig b/arch/riscv/configs/nommu_k210_defconfig > index 96fe8def644c..79b3ccd58ff0 100644 > --- a/arch/riscv/configs/nommu_k210_defconfig > +++ b/arch/riscv/configs/nommu_k210_defconfig > @@ -25,7 +25,8 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y > CONFIG_EMBEDDED=y > # CONFIG_VM_EVENT_COUNTERS is not set > # CONFIG_COMPAT_BRK is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > # CONFIG_MMU is not set > CONFIG_SOC_CANAAN=y > CONFIG_NONPORTABLE=y > diff --git a/arch/riscv/configs/nommu_k210_sdcard_defconfig b/arch/riscv/configs/nommu_k210_sdcard_defconfig > index 379740654373..6b80bb13b8ed 100644 > --- a/arch/riscv/configs/nommu_k210_sdcard_defconfig > +++ b/arch/riscv/configs/nommu_k210_sdcard_defconfig > @@ -17,7 +17,8 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y > CONFIG_EMBEDDED=y > # CONFIG_VM_EVENT_COUNTERS is not set > # CONFIG_COMPAT_BRK is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > # CONFIG_MMU is not set > CONFIG_SOC_CANAAN=y > CONFIG_NONPORTABLE=y > diff --git a/arch/riscv/configs/nommu_virt_defconfig b/arch/riscv/configs/nommu_virt_defconfig > index 1a56eda5ce46..4cf0f297091e 100644 > --- a/arch/riscv/configs/nommu_virt_defconfig > +++ b/arch/riscv/configs/nommu_virt_defconfig > @@ -22,7 +22,8 @@ CONFIG_EXPERT=y > # CONFIG_KALLSYMS is not set > # CONFIG_VM_EVENT_COUNTERS is not set > # CONFIG_COMPAT_BRK is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > # CONFIG_MMU is not set > CONFIG_SOC_VIRT=y > CONFIG_NONPORTABLE=y Acked-by: Palmer Dabbelt Though I don't have a K210 to test against, maybe Damien still does? > diff --git a/arch/sh/configs/rsk7201_defconfig b/arch/sh/configs/rsk7201_defconfig > index 619c18699459..376e95fa77bc 100644 > --- a/arch/sh/configs/rsk7201_defconfig > +++ b/arch/sh/configs/rsk7201_defconfig > @@ -10,7 +10,8 @@ CONFIG_USER_NS=y > CONFIG_PID_NS=y > CONFIG_BLK_DEV_INITRD=y > # CONFIG_AIO is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_PROFILING=y > CONFIG_MODULES=y > # CONFIG_BLK_DEV_BSG is not set > diff --git a/arch/sh/configs/rsk7203_defconfig b/arch/sh/configs/rsk7203_defconfig > index d00fafc021e1..1d5fd67a3949 100644 > --- a/arch/sh/configs/rsk7203_defconfig > +++ b/arch/sh/configs/rsk7203_defconfig > @@ -11,7 +11,8 @@ CONFIG_USER_NS=y > CONFIG_PID_NS=y > CONFIG_BLK_DEV_INITRD=y > CONFIG_KALLSYMS_ALL=y > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_PROFILING=y > CONFIG_MODULES=y > # CONFIG_BLK_DEV_BSG is not set > diff --git a/arch/sh/configs/se7206_defconfig b/arch/sh/configs/se7206_defconfig > index 122216123e63..78e0e7be57ee 100644 > --- a/arch/sh/configs/se7206_defconfig > +++ b/arch/sh/configs/se7206_defconfig > @@ -21,7 +21,8 @@ CONFIG_BLK_DEV_INITRD=y > CONFIG_KALLSYMS_ALL=y > # CONFIG_ELF_CORE is not set > # CONFIG_COMPAT_BRK is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_PROFILING=y > CONFIG_MODULES=y > CONFIG_MODULE_UNLOAD=y > diff --git a/arch/sh/configs/shmin_defconfig b/arch/sh/configs/shmin_defconfig > index c0b6f40d01cc..e078b193a78a 100644 > --- a/arch/sh/configs/shmin_defconfig > +++ b/arch/sh/configs/shmin_defconfig > @@ -9,7 +9,8 @@ CONFIG_LOG_BUF_SHIFT=14 > # CONFIG_FUTEX is not set > # CONFIG_EPOLL is not set > # CONFIG_SHMEM is not set > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > # CONFIG_BLK_DEV_BSG is not set > CONFIG_CPU_SUBTYPE_SH7706=y > CONFIG_MEMORY_START=0x0c000000 > diff --git a/arch/sh/configs/shx3_defconfig b/arch/sh/configs/shx3_defconfig > index 32ec6eb1eabc..aa353dff7f19 100644 > --- a/arch/sh/configs/shx3_defconfig > +++ b/arch/sh/configs/shx3_defconfig > @@ -20,7 +20,8 @@ CONFIG_USER_NS=y > CONFIG_PID_NS=y > # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set > CONFIG_KALLSYMS_ALL=y > -CONFIG_SLOB=y > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > CONFIG_PROFILING=y > CONFIG_KPROBES=y > CONFIG_MODULES=y > diff --git a/kernel/configs/tiny.config b/kernel/configs/tiny.config > index 8a44b93da0f3..c2f9c912df1c 100644 > --- a/kernel/configs/tiny.config > +++ b/kernel/configs/tiny.config > @@ -7,5 +7,6 @@ CONFIG_KERNEL_XZ=y > # CONFIG_KERNEL_LZO is not set > # CONFIG_KERNEL_LZ4 is not set > # CONFIG_SLAB is not set > -# CONFIG_SLUB is not set > -CONFIG_SLOB=y > +# CONFIG_SLOB_DEPRECATED is not set > +CONFIG_SLUB=y > +CONFIG_SLUB_TINY=y > diff --git a/mm/Kconfig b/mm/Kconfig > index 5941cb34e30d..dcc49c69552f 100644 > --- a/mm/Kconfig > +++ b/mm/Kconfig > @@ -219,17 +219,30 @@ config SLUB > and has enhanced diagnostics. SLUB is the default choice for > a slab allocator. > > -config SLOB > +config SLOB_DEPRECATED > depends on EXPERT > - bool "SLOB (Simple Allocator)" > + bool "SLOB (Simple Allocator - DEPRECATED)" > depends on !PREEMPT_RT > help > + Deprecated and scheduled for removal in a few cycles. SLUB > + recommended as replacement. CONFIG_SLUB_TINY can be considered > + on systems with 16MB or less RAM. > + > + If you need SLOB to stay, please contact linux-mm@kvack.org and > + people listed in the SLAB ALLOCATOR section of MAINTAINERS file, > + with your use case. > + > SLOB replaces the stock allocator with a drastically simpler > allocator. SLOB is generally more space efficient but > does not perform as well on large systems. > > endchoice > > +config SLOB > + bool > + default y > + depends on SLOB_DEPRECATED > + > config SLUB_TINY > bool "Configure SLUB for minimal memory footprint" > depends on SLUB && EXPERT