Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp4955315rwb; Sun, 13 Nov 2022 18:05:26 -0800 (PST) X-Google-Smtp-Source: AA0mqf7dSXHqL7r3YETFGFkJeYQtcKSmISTCuAdv62ckpD2tMgDGpH6ls5nN/zuNqXhyCMnoJDOg X-Received: by 2002:a17:90a:d982:b0:213:e8b5:2d50 with SMTP id d2-20020a17090ad98200b00213e8b52d50mr11801510pjv.211.1668391525507; Sun, 13 Nov 2022 18:05:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668391525; cv=none; d=google.com; s=arc-20160816; b=Pgw6+73kjxxERGWpnp6P5QoP1BjlGfjGvdFzArTgjlFN2HfPP4UJ2jISqDPlNnTGsE p/LKMqGT2Ke9CyJCpHH4QuWBPnk+IDRpi/v5NHSZawmyVJgvJ4hYbDcgtWYPAC4RVSfG 5YU/jD/VBgvlRPH/qmIi4WxAyIqn/GF09WLWmxivCuUbVOO9kc0Zb23KR1MQUHplrR6G 21LjHDfcxP/OEFF9QTdbPujic+Iw0/y0XUFFJ51W9xMrcPmIdy4XyNyEANDW81KULsyb y5DdjuSKAFswJrxpAbdM1RgrYf8/ajZROJka5VD8933iQ34TA5IVhlCBLcB09yWr+TPd gAkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to :organization:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:dkim-signature :wdcironportexception:ironport-sdr:ironport-sdr:dkim-signature; bh=zKbg2IIsIiuEMl+XTb5zgSedM/S8T2xDwjKXWgU7LFI=; b=Q5U1VB/sedwP2OX6VUq8dHI3RDEyXgqCgLOQIfqUmFgX/c1FIWPB+OrPnUuRdjsK/z MybQyeWj4GA0K7YXqIhlhNWph1xX7otfkMUTudmVREHhzhOXC3YaUoy94HopHasGkHlK z0V4len/eOL2BRGfPY2Y5daup3vLsDGY9mr2HofIWIefWK7zH8ik+imxQkxIdDm3gEBg VmxL0N65nT7dPE6XB1smPZkG4ucuMCJioS5w8m2tmkaRJxsFQmXUEqkoyZg1/JR6SVuA 6W+i5W+aSD0nGcMx9HmjbbRY8ro5ruELFDCWHT5D8NXpPnG/sy+f0ti1CkRPNOiMqhcZ zgDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@wdc.com header.s=dkim.wdc.com header.b=Zkcz5ZOO; dkim=pass header.i=@opensource.wdc.com header.s=dkim header.b=B7FIG24k; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=opensource.wdc.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x4-20020a63f704000000b0045fd05b2ce9si7878090pgh.521.2022.11.13.18.05.13; Sun, 13 Nov 2022 18:05:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@wdc.com header.s=dkim.wdc.com header.b=Zkcz5ZOO; dkim=pass header.i=@opensource.wdc.com header.s=dkim header.b=B7FIG24k; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=opensource.wdc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235574AbiKNBzX (ORCPT + 90 others); Sun, 13 Nov 2022 20:55:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57178 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235551AbiKNBzV (ORCPT ); Sun, 13 Nov 2022 20:55:21 -0500 Received: from esa4.hgst.iphmx.com (esa4.hgst.iphmx.com [216.71.154.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1D08625C for ; Sun, 13 Nov 2022 17:55:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1668390920; x=1699926920; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=nyOFTXz3d9X6eMOZsmuYqPSZyAOtJSgUq3fJ16zqsqM=; b=Zkcz5ZOO/rrx2GvoM8GlIpt8fBBrIsg/iFT+Ao5sV4TB+17DFVNeTKDU bljRPDiApg2d5Qx9/Yjgn7IrjoHApC/fuT8fO4LDPy15n0TibTC3D3+cV 1BQdoxyTtZKmK9UgMEswvyFBmLGahCDc8tlwcGDatR4Xn7oLMZ7M7DY/a TP4Hifst7nAKDHTKcGwIqGdN89tGrrBirotvg32/AtOsJ3f1DqbJbWguA qmRPuy7rJUNx7Geihej7S5irVW61dCp4kkH2NWsTb2mjxBf9Xs2mFLHok V3Hj3rzCiD7voSXGZD6/4LutOHdsqnl/7FpY3PBDGknn3vCyaBVj+DcMp g==; X-IronPort-AV: E=Sophos;i="5.96,161,1665417600"; d="scan'208";a="214449252" Received: from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 14 Nov 2022 09:55:19 +0800 IronPort-SDR: 6ZGO0H6uVtaZeMa1ffgJgipTHqdF7IJjBVdJAqx9q+eDlK3AhQmUMFNAEDmB+QMz2KIk53oTV8 vvGidp64/+xMSnxnJBCpWftM6d3EVH4RuZt1eU4RqTkEAA4s2qrhKkIMPaLWu8nNF93bVnk/yK dcE25yxgeyGKydJG/PO0GMh8S5Yr48a9iRdYm33aDF8/I1+qW/zKKHP5PWXwULwjVyEhEsrBUv OGasiLWbfN2qxXCxIHuBo4AyDMK1Q3EXQTScYNal9RaI8MmORPIaUe+BU3lQ8aRha1DeoRXELu r94= Received: from uls-op-cesaip01.wdc.com ([10.248.3.36]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 13 Nov 2022 17:08:33 -0800 IronPort-SDR: 7td1JVc6adBEG5FsaXw50tzgE3phtMmlrJqwoNbNyx5vTCNvm55OiXOxAcBAV6sm/N1wyyXU45 Bm6tWTy+JtfzMo96ioDWk4WZvZvABuZJY685z0vSfdXeSqs63m7iLqlprp0BvdySG9JzytNl4d mt1yl9jKOwfJtNDe2F7DD5j6Zqe+UvSHjeC/PV3/cqo3H3eB2docOxEDx4JMUfsZPcZTIOVMpe ATIHaBhha6/DPsM8yww2fjrSjwmfU+3lci5RS7VNUVwFrm3oZyuPBVgjmRBuqOiWHOeMIcD2t0 6jM= WDCIronportException: Internal Received: from usg-ed-osssrv.wdc.com ([10.3.10.180]) by uls-op-cesaip01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 13 Nov 2022 17:55:20 -0800 Received: from usg-ed-osssrv.wdc.com (usg-ed-osssrv.wdc.com [127.0.0.1]) by usg-ed-osssrv.wdc.com (Postfix) with ESMTP id 4N9XSj2twRz1RvTp for ; Sun, 13 Nov 2022 17:55:17 -0800 (PST) Authentication-Results: usg-ed-osssrv.wdc.com (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=opensource.wdc.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d= opensource.wdc.com; h=content-transfer-encoding:content-type :in-reply-to:organization:from:references:to:content-language :subject:user-agent:mime-version:date:message-id; s=dkim; t= 1668390916; x=1670982917; bh=nyOFTXz3d9X6eMOZsmuYqPSZyAOtJSgUq3f J16zqsqM=; b=B7FIG24k/AkrbPRlxTTp+YAyPl2DtgOB49NBmCF1uJe1rzavO/J NnzQvOw5y6jZvpQDwbtMGe43anknJxLtaNq6ye3vNETqunaV7aPGbWlB5yTcJneZ dep7KJ5wOdey9UA9pJO55QieVSkTNlBVhNgkyYu31fgMtYTbglkkIlf7pD0mZS9U TV2BXR5pUYz63ZjDo3FL0DtWJD6Q7xWT2ajGfhM6MNxiQ4WATwU3nDj6s5pOHaUi EtT3fitwsRCuczjPghjRbOWkaSka9UnIqihDhmL1YAsBAgEnAIKojathaHJVhQgy vt64Jcr8YksY1GcywsWLEhEhXqIrpmbW4JA== X-Virus-Scanned: amavisd-new at usg-ed-osssrv.wdc.com Received: from usg-ed-osssrv.wdc.com ([127.0.0.1]) by usg-ed-osssrv.wdc.com (usg-ed-osssrv.wdc.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 66_aaqRNKHtP for ; Sun, 13 Nov 2022 17:55:16 -0800 (PST) Received: from [10.225.163.46] (unknown [10.225.163.46]) by usg-ed-osssrv.wdc.com (Postfix) with ESMTPSA id 4N9XSY61WPz1RvLy; Sun, 13 Nov 2022 17:55:09 -0800 (PST) Message-ID: Date: Mon, 14 Nov 2022 10:55:08 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: Deprecating and removing SLOB Content-Language: en-US To: Conor Dooley , Vlastimil Babka Cc: Pasha Tatashin , Christoph Lameter , David Rientjes , Joonsoo Kim , Pekka Enberg , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Matthew Wilcox , Roman Gushchin , Linus Torvalds , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Catalin Marinas , Rustam Kovhaev , Andrew Morton , Josh Triplett , Arnd Bergmann , Russell King , Alexander Shiyan , Aaro Koskinen , Janusz Krzysztofik , Tony Lindgren , Yoshinori Sato , Rich Felker , Jonas Bonn , Stefan Kristiansson , Stafford Horne , "linux-arm-kernel@lists.infradead.org" , openrisc@lists.librecores.org, linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org, Geert Uytterhoeven , Conor.Dooley@microchip.com, Paul Cercueil References: From: Damien Le Moal Organization: Western Digital Research In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/12/22 05:46, Conor Dooley wrote: > On Fri, Nov 11, 2022 at 11:33:30AM +0100, Vlastimil Babka wrote: >> On 11/8/22 22:44, Pasha Tatashin wrote: >>> On Tue, Nov 8, 2022 at 10:55 AM Vlastimil Babka wrote: >>>> >>>> Hi, >>>> >>>> as we all know, we currently have three slab allocators. As we discussed >>>> at LPC [1], it is my hope that one of these allocators has a future, and >>>> two of them do not. >>>> >>>> The unsurprising reasons include code maintenance burden, other features >>>> compatible with only a subset of allocators (or more effort spent on the >>>> features), blocking API improvements (more on that below), and my >>>> inability to pronounce SLAB and SLUB in a properly distinguishable way, >>>> without resorting to spelling out the letters. >>>> >>>> I think (but may be proven wrong) that SLOB is the easier target of the >>>> two to be removed, so I'd like to focus on it first. >>>> >>>> I believe SLOB can be removed because: >>>> >>>> - AFAIK nobody really uses it? It strives for minimal memory footprint >>>> by putting all objects together, which has its CPU performance costs >>>> (locking, lack of percpu caching, searching for free space...). I'm not >>>> aware of any "tiny linux" deployment that opts for this. For example, >>>> OpenWRT seems to use SLUB and the devices these days have e.g. 128MB >>>> RAM, not up to 16 MB anymore. I've heard anecdotes that the performance >>>> SLOB impact is too much for those who tried. Googling for >>>> "CONFIG_SLOB=y" yielded nothing useful. >>> >>> I am all for removing SLOB. >>> >>> There are some devices with configs where SLOB is enabled by default. >>> Perhaps, the owners/maintainers of those devices/configs should be >>> included into this thread: >>> >>> tatashin@soleen:~/x/linux$ git grep SLOB=y > >>> arch/riscv/configs/nommu_k210_defconfig:CONFIG_SLOB=y >>> arch/riscv/configs/nommu_k210_sdcard_defconfig:CONFIG_SLOB=y >>> arch/riscv/configs/nommu_virt_defconfig:CONFIG_SLOB=y > >> >> Turns out that since SLOB depends on EXPERT, many of those lack it so >> running make defconfig ends up with SLUB anyway, unless I miss something. >> Only a subset has both SLOB and EXPERT: >> >>> git grep CONFIG_EXPERT `git grep -l "CONFIG_SLOB=y"` > >> arch/riscv/configs/nommu_virt_defconfig:CONFIG_EXPERT=y > > I suppose there's not really a concern with the virt defconfig, but I > did check the output of `make nommu_k210_defconfig" and despite not > having expert it seems to end up CONFIG_SLOB=y in the generated .config. > > I do have a board with a k210 so I checked with s/SLOB/SLUB and it still > boots etc, but I have no workloads or w/e to run on it. I sent a patch to change the k210 defconfig to using SLUB. However... The current default config using SLOB gives about 630 free memory pages after boot (cat /proc/vmstat). Switching to SLUB, this is down to about 400 free memory pages (CONFIG_SLUB_CPU_PARTIAL is off). This is with a buildroot kernel 5.19 build including a shell and sd-card boot. With SLUB, I get clean boots and a shell prompt as expected. But I definitely see more errors with shell commands failing due to allocation failures for the shell process fork. So as far as the K210 is concerned, switching to SLUB is not ideal. I would not want to hold on kernel mm improvements because of this toy k210 though, so I am not going to prevent SLOB deprecation. I just wish SLUB itself used less memory :) -- Damien Le Moal Western Digital Research