[{"id":3676573,"web_url":"http://patchwork.ozlabs.org/comment/3676573/","msgid":"<67c579d4-4e7e-4b3a-a2b9-7ba669664bdf@kernel.org>","date":"2026-04-13T09:00:57","subject":"Re: [patch 14/38] slub: Use prandom instead of get_cycles()","submitter":{"id":84946,"url":"http://patchwork.ozlabs.org/api/people/84946/","name":"Vlastimil Babka (SUSE)","email":"vbabka@kernel.org"},"content":"On 4/10/26 14:19, Thomas Gleixner wrote:\n> The decision whether to scan remote nodes is based on a 'random' number\n> retrieved via get_cycles(). get_cycles() is about to be removed.\n> \n> There is already prandom state in the code, so use that instead.\n> \n> Signed-off-by: Thomas Gleixner <tglx@kernel.org>\n> Cc: Vlastimil Babka <vbabka@kernel.org>\n> Cc: linux-mm@kvack.org\n\nLGTM.\n\nAcked-by: Vlastimil Babka (SUSE) <vbabka@kernel.org>","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19669-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=bfyW73rE;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19669-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=172.105.4.254","lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=bfyW73rE;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=172.105.4.254; helo=tor.source.kernel.org;\n envelope-from=vbabka@kernel.org; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvLxC4BQgz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 19:01:19 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fvLx527rZz2yrb;\n\tMon, 13 Apr 2026 19:01:13 +1000 (AEST)","from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fvLx40NKxz2yjV\n\tfor <linuxppc-dev@lists.ozlabs.org>; Mon, 13 Apr 2026 19:01:11 +1000 (AEST)","from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby tor.source.kernel.org (Postfix) with ESMTP id 3123160172;\n\tMon, 13 Apr 2026 09:01:09 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 57513C116C6;\n\tMon, 13 Apr 2026 09:00:59 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776070873;\n\tcv=none;\n b=DodQN2fFoTfaPfoNVs89SuWS1V/clqZz9X/bdIjcFPjYUqglGU8+ffKGcnGarpfkibwv03fPYawXfJwuYPHe1W3nzJyD1H5HfM5EOsFhmUhCbho87u2ZG16vclxbkx4irHiEOG6hmH1pDNdAmYG14jfxHn5Bij7XDZItcgRvjJ4pUvuE0VktbaS4RFGNxTm+KO8ivaDTyPxuGXxio0t6J1rI68nLVZQ1MYC291QJJ0gftkbSKUJM+TA/XKDwDmDisxxI0scp1NEKQVHx4TMtRrciU7au09mfTyU06xfua9o7A4jtR5n2qkwGbVvyBu0ObtvSFOH7NeINfS4xeigx3Q==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776070873; c=relaxed/relaxed;\n\tbh=6tn1tr/EOCjX/U3xON55GSnIaEvRsYLTCTnfd5yyfW4=;\n\th=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:\n\t In-Reply-To:Content-Type;\n b=EisdEnJMDV6E6SPijRIYbQ18bFpfXRGq6t/IxeiEwoFydgOXIv7zOLGLoq/GZ5NzHSAW2C/57aoFa9a3tb+W97fkQHyf3chrNGl4v0zxxNSvvqBWG1IIpPpl1k9lhV+o1v4ykeZwcGc3EJ7/kvyAWO6Fm3XUVkHwWXI/xj7upNPAtNBDYtZ/d6LGa8CDMnzCZY8EjFy4Y5NYczVJEfVDsX6EkVsJpvuoAfg0of35WcaJlBWizaY2jUTAIPB/kV/5JDdoUKO9LWZKrXrpMdY/5rz+b2S1CLpcZqDSuryIoCV2/zhPkxIo7OcfEU+0MHiPQv1t/OCvqI1eSfRj2kg3mg==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=bfyW73rE; dkim-atps=neutral;\n spf=pass (client-ip=172.105.4.254; helo=tor.source.kernel.org;\n envelope-from=vbabka@kernel.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776070868;\n\tbh=NmWTXdFZa2PXaXxihxiBwP6/fcqhMPMR8Odd5UUj3qI=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=bfyW73rEx6WunGZVvr1kdbuQhIZW0auQdr185ZFOdqezYfVI8EqIl4RV+jZMHErnf\n\t HHqywW91vp7CVLzZ8tl9LuEsJL2nKmijW0OQ98WRnNBsFsW1LYo4ZFpZLLA1RAeRqi\n\t fLF9xsDW37jcs+y2EAiBEgZnfjWYwDz/hvRsB2Ow2oVioAmoaeXLVkxbmWKx3ILDyy\n\t OFKArZB3La00uc7rhVgunFkOn3bZFgPE1fuUov3rdMuNp+wqIMsO2YWxMIl1vusQFL\n\t bBAU79v+8ddAl2Ytb2JX6K5ckn/0H32ur+wYUjKyGCCdFu1O+cEC54vJcUyB4ZJ+rF\n\t y0fFboG7dTA8g==","Message-ID":"<67c579d4-4e7e-4b3a-a2b9-7ba669664bdf@kernel.org>","Date":"Mon, 13 Apr 2026 11:00:57 +0200","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [patch 14/38] slub: Use prandom instead of get_cycles()","Content-Language":"en-US","To":"Thomas Gleixner <tglx@kernel.org>, LKML <linux-kernel@vger.kernel.org>","Cc":"linux-mm@kvack.org, Arnd Bergmann <arnd@arndb.de>, x86@kernel.org,\n Lu Baolu <baolu.lu@linux.intel.com>, iommu@lists.linux.dev,\n Michael Grzeschik <m.grzeschik@pengutronix.de>, netdev@vger.kernel.org,\n linux-wireless@vger.kernel.org, Herbert Xu <herbert@gondor.apana.org.au>,\n linux-crypto@vger.kernel.org, David Woodhouse <dwmw2@infradead.org>,\n Bernie Thompson <bernie@plugable.com>, linux-fbdev@vger.kernel.org,\n Theodore Tso <tytso@mit.edu>, linux-ext4@vger.kernel.org,\n Andrew Morton <akpm@linux-foundation.org>,\n Uladzislau Rezki <urezki@gmail.com>, Marco Elver <elver@google.com>,\n Dmitry Vyukov <dvyukov@google.com>, kasan-dev@googlegroups.com,\n Andrey Ryabinin <ryabinin.a.a@gmail.com>,\n Thomas Sailer <t.sailer@alumni.ethz.ch>, linux-hams@vger.kernel.org,\n \"Jason A. Donenfeld\" <Jason@zx2c4.com>,\n Richard Henderson <richard.henderson@linaro.org>,\n linux-alpha@vger.kernel.org, Russell King <linux@armlinux.org.uk>,\n linux-arm-kernel@lists.infradead.org,\n Catalin Marinas <catalin.marinas@arm.com>,\n Huacai Chen <chenhuacai@kernel.org>, loongarch@lists.linux.dev,\n Geert Uytterhoeven <geert@linux-m68k.org>, linux-m68k@lists.linux-m68k.org,\n Dinh Nguyen <dinguyen@kernel.org>, Jonas Bonn <jonas@southpole.se>,\n linux-openrisc@vger.kernel.org, Helge Deller <deller@gmx.de>,\n linux-parisc@vger.kernel.org, Michael Ellerman <mpe@ellerman.id.au>,\n linuxppc-dev@lists.ozlabs.org, Paul Walmsley <pjw@kernel.org>,\n linux-riscv@lists.infradead.org, Heiko Carstens <hca@linux.ibm.com>,\n linux-s390@vger.kernel.org, \"David S. Miller\" <davem@davemloft.net>,\n sparclinux@vger.kernel.org, \"Harry Yoo (Oracle)\" <harry@kernel.org>,\n Hao Li <hao.li@linux.dev>","References":"<20260410120044.031381086@kernel.org>\n <20260410120318.525653921@kernel.org>","From":"\"Vlastimil Babka (SUSE)\" <vbabka@kernel.org>","In-Reply-To":"<20260410120318.525653921@kernel.org>","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"7bit","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}},{"id":3676733,"web_url":"http://patchwork.ozlabs.org/comment/3676733/","msgid":"<adyyNeVTkXQlnh_2@hyeyoo>","date":"2026-04-13T09:07:01","subject":"Re: [patch 14/38] slub: Use prandom instead of get_cycles()","submitter":{"id":93129,"url":"http://patchwork.ozlabs.org/api/people/93129/","name":"Harry Yoo (Oracle)","email":"harry@kernel.org"},"content":"[Resending after fixing broken email headers]\n\nOn Fri, Apr 10, 2026 at 02:19:37PM +0200, Thomas Gleixner wrote:\n> The decision whether to scan remote nodes is based on a 'random' number\n> retrieved via get_cycles(). get_cycles() is about to be removed.\n> \n> There is already prandom state in the code, so use that instead.\n> \n> Signed-off-by: Thomas Gleixner <tglx@kernel.org>\n> Cc: Vlastimil Babka <vbabka@kernel.org>\n> Cc: linux-mm@kvack.org\n> ---\n\nAcked-by: Harry Yoo (Oracle) <harry@kernel.org>\n\nIs this for this merge window?\n\nThis may conflict with upcoming changes on freelist shuffling [1]\n(not queued for slab/for-next yet though), but it should be easy to\nresolve.\n\n[Cc'ing Shengming and SLAB ALLOCATOR folks]\n[1] https://lore.kernel.org/linux-mm/20260409204352095kKWVYKtZImN59ybO6iRNj@zte.com.cn","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19692-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=G3inY+8J;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19692-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=172.234.252.31","lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=G3inY+8J;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=172.234.252.31; helo=sea.source.kernel.org;\n envelope-from=harry@kernel.org; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvSNd28HSz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 23:06:57 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fvSNc588yz2yjq;\n\tMon, 13 Apr 2026 23:06:56 +1000 (AEST)","from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fvM3t4K5mz2yjV\n\tfor <linuxppc-dev@lists.ozlabs.org>; Mon, 13 Apr 2026 19:07:06 +1000 (AEST)","from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby sea.source.kernel.org (Postfix) with ESMTP id 21BFF43A69;\n\tMon, 13 Apr 2026 09:07:04 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 95C51C116C6;\n\tMon, 13 Apr 2026 09:07:03 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776071227;\n\tcv=none;\n b=dsH1zizuD/GcUlNUp23HlJQu85uqzuX3QONBoCMFzacF0LK/303jzGHMN4GLJLUBt2xb4YAzbOaOckR5xiVpG5uyjAPOFp190V9EmVckR/IjQ/SO8UFDHvmY6Rq3iv/iShW5hvzjIKPGSeYBgXedflU006XxSkVJVUwRFaMh0Wi86ECGCiSaEuRAs4ht1q4Jty9g8HzmEqN4t3R/OUdUbckCEabW+Wh3Scc3noDj15xDBvKWGsncL57SsMtG6BKyiLI4MfZdtCcPrQE6t/ZfnRrlN6Gz/citAEozfRMmmtvlccgZfBiAZViovO8KmBXc6tgcJ5iY8ubAe11sNkMg5w==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776071227; c=relaxed/relaxed;\n\tbh=xfV+dBU9VPBYhioDWJ+nyjtSrTDypvBAP7vxHXh2p4I=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=WaVW/m/2/eG3g+b74ORH0eamkSuszhTgVLMTarSR2x8I+etX4vXnXTIvOLMktwrVPYehdKw/sPeOlB9fwX6Lw0UXlHKrbQ4r196WxjE968w6SLLbQrUqF+G7JAeCzNIxVcHqq8KaYKudeALHL3LzK/1W0SwgF9ip3xL7M4y5WEXfR0RCY6Vek2bRnIMToU7fZMKYbVEcD+fKzt/0F6ujfYU7Xb1/5X8JVMjearNxJ1id+bOANn/lsDDARIwyFukppMsBfL+2A0xjqE8x3NVJBvHJl3l0bZYzUawgU2BU7GnbPWBOVjb1O6MWoCxb6YsGwE6cQKA17Vtj21z97UHW2w==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=G3inY+8J; dkim-atps=neutral;\n spf=pass (client-ip=172.234.252.31; helo=sea.source.kernel.org;\n envelope-from=harry@kernel.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776071224;\n\tbh=cS2/Y+fD/C6Fj1LtxcJRcP0gMiu198023wVz+PX5eN8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=G3inY+8JxkEibVwYUFszuCWlat+2WMkdb9cxQNukGQ5jOO4YosRVw/teIPjzkykJe\n\t VBaoK4GWe1nSvdZccXGItvVBbCBawDxBQYXoSn8ku3lctCl78nWa1bXrv8Cz5ii5WC\n\t gS594pXSn/PDkAlQW1x8pf1/M/IPGL/2AZ9s3tUP2y+EEht32F5HbttQfHidlVLFR9\n\t SB3RrQSSOyCGHY83n0fRRZdud5Xcyx9d8MmEOZogxSk4gxdYZjmVHZxvo/hzD3ige5\n\t KqFGmCdWJVKzfE5LlEz9DNkdZh7AXZJZD7MdmFDUG+6QJAH+W76oJ0Vl3ycqghmmEe\n\t IWEm9rwhj2q9g==","Date":"Mon, 13 Apr 2026 18:07:01 +0900","From":"\"Harry Yoo (Oracle)\" <harry@kernel.org>","To":"Thomas Gleixner <tglx@kernel.org>","Cc":"LKML <linux-kernel@vger.kernel.org>,\n\tVlastimil Babka <vbabka@kernel.org>, linux-mm@kvack.org,\n\tArnd Bergmann <arnd@arndb.de>, x86@kernel.org,\n\tLu Baolu <baolu.lu@linux.intel.com>, iommu@lists.linux.dev,\n\tMichael Grzeschik <m.grzeschik@pengutronix.de>,\n\tnetdev@vger.kernel.org, linux-wireless@vger.kernel.org,\n\tHerbert Xu <herbert@gondor.apana.org.au>,\n\tlinux-crypto@vger.kernel.org, David Woodhouse <dwmw2@infradead.org>,\n\tBernie Thompson <bernie@plugable.com>, linux-fbdev@vger.kernel.org,\n\tTheodore Tso <tytso@mit.edu>, linux-ext4@vger.kernel.org,\n\tAndrew Morton <akpm@linux-foundation.org>,\n\tUladzislau Rezki <urezki@gmail.com>, Marco Elver <elver@google.com>,\n\tDmitry Vyukov <dvyukov@google.com>, kasan-dev@googlegroups.com,\n\tAndrey Ryabinin <ryabinin.a.a@gmail.com>,\n\tThomas Sailer <t.sailer@alumni.ethz.ch>, linux-hams@vger.kernel.org,\n\t\"Jason A. Donenfeld\" <Jason@zx2c4.com>,\n\tRichard Henderson <richard.henderson@linaro.org>,\n\tlinux-alpha@vger.kernel.org, Russell King <linux@armlinux.org.uk>,\n\tlinux-arm-kernel@lists.infradead.org,\n\tCatalin Marinas <catalin.marinas@arm.com>,\n\tHuacai Chen <chenhuacai@kernel.org>, loongarch@lists.linux.dev,\n\tGeert Uytterhoeven <geert@linux-m68k.org>,\n\tlinux-m68k@lists.linux-m68k.org, Dinh Nguyen <dinguyen@kernel.org>,\n\tJonas Bonn <jonas@southpole.se>, linux-openrisc@vger.kernel.org,\n\tHelge Deller <deller@gmx.de>, linux-parisc@vger.kernel.org,\n\tMichael Ellerman <mpe@ellerman.id.au>,\n\tlinuxppc-dev@lists.ozlabs.org, Paul Walmsley <pjw@kernel.org>,\n\tlinux-riscv@lists.infradead.org, Heiko Carstens <hca@linux.ibm.com>,\n\tlinux-s390@vger.kernel.org, \"David S. Miller\" <davem@davemloft.net>,\n\tsparclinux@vger.kernel.org, Hao Li <hao.li@linux.dev>,\n\tChristoph Lameter <cl@gentwo.org>,\n\tDavid Rientjes <rientjes@google.com>,\n\tRoman Gushchin <roman.gushchin@linux.dev>,\n\tShengming Hu <hu.shengming@zte.com.cn>","Subject":"Re: [patch 14/38] slub: Use prandom instead of get_cycles()","Message-ID":"<adyyNeVTkXQlnh_2@hyeyoo>","References":"<20260410120044.031381086@kernel.org>\n <20260410120318.525653921@kernel.org>","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260410120318.525653921@kernel.org>","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}},{"id":3676776,"web_url":"http://patchwork.ozlabs.org/comment/3676776/","msgid":"<20260413210252672ZfdcegJLJtyvlYdFAUBlr@zte.com.cn>","date":"2026-04-13T13:02:52","subject":"=?utf-8?q?Re=3A_=5Bpatch_14/38=5D_slub=3A_Use_prandom_instead_of_ge?=\n\t=?utf-8?q?t=5Fcycles=28=29?=","submitter":{"id":93134,"url":"http://patchwork.ozlabs.org/api/people/93134/","name":"","email":"hu.shengming@zte.com.cn"},"content":"Harry wrote:\n> [Resending after fixing broken email headers]\n> \n> On Fri, Apr 10, 2026 at 02:19:37PM +0200, Thomas Gleixner wrote:\n> > The decision whether to scan remote nodes is based on a 'random' number\n> > retrieved via get_cycles(). get_cycles() is about to be removed.\n> > \n> > There is already prandom state in the code, so use that instead.\n> > \n> > Signed-off-by: Thomas Gleixner <tglx@kernel.org>\n> > Cc: Vlastimil Babka <vbabka@kernel.org>\n> > Cc: linux-mm@kvack.org\n> > ---\n> \n> Acked-by: Harry Yoo (Oracle) <harry@kernel.org>\n> \n> Is this for this merge window?\n> \n> This may conflict with upcoming changes on freelist shuffling [1]\n> (not queued for slab/for-next yet though), but it should be easy to\n> resolve.\n> \n\nHi Harry,\n\nWould you like me to wait for this patch to land linux-next and then\nrebase and send v6 on top?\n\nThanks,\n\n--\nWith Best Regards,\nShengming\n\n> [Cc'ing Shengming and SLAB ALLOCATOR folks]\n> [1] https://lore.kernel.org/linux-mm/20260409204352095kKWVYKtZImN59ybO6iRNj@zte.com.cn\n> \n> -- \n> Cheers,\n> Harry / Hyeonggon\n> \n> >  mm/slub.c |   37 +++++++++++++++++++++++--------------\n> >  1 file changed, 23 insertions(+), 14 deletions(-)\n> > \n> > --- a/mm/slub.c\n> > +++ b/mm/slub.c\n> > @@ -3302,6 +3302,25 @@ static inline struct slab *alloc_slab_pa\n> >      return slab;\n> >  }\n> >  \n> > +#if defined(CONFIG_SLAB_FREELIST_RANDOM) || defined(CONFIG_NUMA)\n> > +static DEFINE_PER_CPU(struct rnd_state, slab_rnd_state);\n> > +\n> > +static unsigned int slab_get_prandom_state(unsigned int limit)\n> > +{\n> > +    struct rnd_state *state;\n> > +    unsigned int res;\n> > +\n> > +    /*\n> > +     * An interrupt or NMI handler might interrupt and change\n> > +     * the state in the middle, but that's safe.\n> > +     */\n> > +    state = &get_cpu_var(slab_rnd_state);\n> > +    res = prandom_u32_state(state) % limit;\n> > +    put_cpu_var(slab_rnd_state);\n> > +    return res;\n> > +}\n> > +#endif\n> > +\n> >  #ifdef CONFIG_SLAB_FREELIST_RANDOM\n> >  /* Pre-initialize the random sequence cache */\n> >  static int init_cache_random_seq(struct kmem_cache *s)\n> > @@ -3365,8 +3384,6 @@ static void *next_freelist_entry(struct\n> >      return (char *)start + idx;\n> >  }\n> >  \n> > -static DEFINE_PER_CPU(struct rnd_state, slab_rnd_state);\n> > -\n> >  /* Shuffle the single linked freelist based on a random pre-computed sequence */\n> >  static bool shuffle_freelist(struct kmem_cache *s, struct slab *slab,\n> >                   bool allow_spin)\n> > @@ -3383,15 +3400,7 @@ static bool shuffle_freelist(struct kmem\n> >      if (allow_spin) {\n> >          pos = get_random_u32_below(freelist_count);\n> >      } else {\n> > -        struct rnd_state *state;\n> > -\n> > -        /*\n> > -         * An interrupt or NMI handler might interrupt and change\n> > -         * the state in the middle, but that's safe.\n> > -         */\n> > -        state = &get_cpu_var(slab_rnd_state);\n> > -        pos = prandom_u32_state(state) % freelist_count;\n> > -        put_cpu_var(slab_rnd_state);\n> > +        pos = slab_get_prandom_state(freelist_count);\n> >      }\n> >  \n> >      page_limit = slab->objects * s->size;\n> > @@ -3882,7 +3891,7 @@ static void *get_from_any_partial(struct\n> >       * with available objects.\n> >       */\n> >      if (!s->remote_node_defrag_ratio ||\n> > -            get_cycles() % 1024 > s->remote_node_defrag_ratio)\n> > +        slab_get_prandom_state(1024) > s->remote_node_defrag_ratio)\n> >          return NULL;\n> >  \n> >      do {\n> > @@ -7102,7 +7111,7 @@ static unsigned int\n> >  \n> >      /* see get_from_any_partial() for the defrag ratio description */\n> >      if (!s->remote_node_defrag_ratio ||\n> > -            get_cycles() % 1024 > s->remote_node_defrag_ratio)\n> > +        slab_get_prandom_state(1024) > s->remote_node_defrag_ratio)\n> >          return 0;\n> >  \n> >      do {\n> > @@ -8421,7 +8430,7 @@ void __init kmem_cache_init_late(void)\n> >      flushwq = alloc_workqueue(\"slub_flushwq\", WQ_MEM_RECLAIM | WQ_PERCPU,\n> >                    0);\n> >      WARN_ON(!flushwq);\n> > -#ifdef CONFIG_SLAB_FREELIST_RANDOM\n> > +#if defined(CONFIG_SLAB_FREELIST_RANDOM) || defined(CONFIG_NUMA)\n> >      prandom_init_once(&slab_rnd_state);\n> >  #endif\n> >  }\n> > \n> >","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19699-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19699-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org; arc=none smtp.remote-ip=58.251.27.85","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=zte.com.cn","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=zte.com.cn\n (client-ip=58.251.27.85; helo=mxct.zte.com.cn;\n envelope-from=hu.shengming@zte.com.cn; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvTZ44hQ0z1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 00:00:12 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fvTZ35BRyz2yjq;\n\tTue, 14 Apr 2026 00:00:11 +1000 (AEST)","from mxct.zte.com.cn (mxct.zte.com.cn [58.251.27.85])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fvSRv3P9pz2yS9\n\tfor <linuxppc-dev@lists.ozlabs.org>; Mon, 13 Apr 2026 23:09:46 +1000 (AEST)","from mxde.zte.com.cn (unknown [10.35.20.165])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby mxct.zte.com.cn (FangMail) with ESMTPS id 4fvSJL6XM3z1DDv\n\tfor <linuxppc-dev@lists.ozlabs.org>; Mon, 13 Apr 2026 21:03:14 +0800 (CST)","from mxhk.zte.com.cn (unknown [192.168.250.137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby mxde.zte.com.cn (FangMail) with ESMTPS id 4fvSJF25F6z5TCG0\n\tfor <linuxppc-dev@lists.ozlabs.org>; Mon, 13 Apr 2026 21:03:09 +0800 (CST)","from mse-fl2.zte.com.cn (unknown [10.5.228.133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby mxhk.zte.com.cn (FangMail) with ESMTPS id 4fvSJ26Vzyz8Xs70;\n\tMon, 13 Apr 2026 21:02:58 +0800 (CST)","from xaxapp05.zte.com.cn ([10.99.98.109])\n\tby mse-fl2.zte.com.cn with SMTP id 63DD2n3P010875;\n\tMon, 13 Apr 2026 21:02:49 +0800 (+08)\n\t(envelope-from hu.shengming@zte.com.cn)","from mapi (xaxapp01[null])\n\tby mapi (Zmail) with MAPI id mid32;\n\tMon, 13 Apr 2026 21:02:52 +0800 (CST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776085788;\n\tcv=none;\n b=eWNkjL5DOJdvEEgqEI7iauYZslurhALTlclieufhNoztaC6vcfMf/a8HY0TMrUvyQmLSgtdVH9RN4Vrp+JD/nkGLz7GcNydIaKqsHIVOvcAsE7yz5KT2B4yE69KopdmohZUy8MCnLKq/JwXloPHhgNFT0a9PkZpVBM1Q73fVaWviBeRiIvpGeoP180RG7pjWtbIOQ9wQKSwtpxJMxu7IYf/CmXnxZ3PU9ZTJq+7WWMlnfh66yNAQ1Nq5evAKvFfo4RI1VsxFvtob3cDZsVM+LnNkxNTy9HLX1XXeJgbyHzIt0L3PXkkcx4w0PYDNQLdoPYQFSxnEjDQi2sqe7Sox1A==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776085788; c=relaxed/relaxed;\n\tbh=4Q6hbO5VXAAEYtqFBS/tjKRelFU1z4l+PdprfQ8isB4=;\n\th=Message-ID:In-Reply-To:References:Date:Mime-Version:From:To:Cc:\n\t Subject:Content-Type;\n b=FF6c+/RtbzAj7sDWh1MgMXR7J91vQgyzTHF+0V908TZMWu7TUikNCUAOGhHdcQ9wKAIBFLInBJRaf3Dc7YM3eGSZROxbYboq19nBpCFdX7rVlnw4FYrbXg+w/7lmcVAlrWbyAptmcERJuzkH6jGKhjGr0PCDNltspPLPolUypv6jVNoiuNs//VXSMRWIZx1PHDzOmp16s7dX9Kmg0AtlqNNnzSKotkQsYzahrm0SZTL3h3dRg22qQmcEssJs/XkkRSo9Hff0XF/FdCK9pJtWlAkjb+bqXkWtsJlJfEMi2vh91G+U68Z99aytBBpXkXuLypwrpVe4ddT1SJSG8FdZgA==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=zte.com.cn;\n spf=pass (client-ip=58.251.27.85; helo=mxct.zte.com.cn;\n envelope-from=hu.shengming@zte.com.cn;\n receiver=lists.ozlabs.org) smtp.mailfrom=zte.com.cn","X-Greylist":"delayed 386 seconds by postgrey-1.37 at boromir;\n Mon, 13 Apr 2026 23:09:47 AEST","X-Zmail-TransId":"2af969dce97c49e-2c715","X-Mailer":"Zmail v1.0","Message-ID":"<20260413210252672ZfdcegJLJtyvlYdFAUBlr@zte.com.cn>","In-Reply-To":"<adyyNeVTkXQlnh_2@hyeyoo>","References":"\n 20260410120044.031381086@kernel.org,20260410120318.525653921@kernel.org,adyyNeVTkXQlnh_2@hyeyoo","Date":"Mon, 13 Apr 2026 21:02:52 +0800 (CST)","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","Mime-Version":"1.0","From":"<hu.shengming@zte.com.cn>","To":"<harry@kernel.org>","Cc":"<tglx@kernel.org>, <linux-kernel@vger.kernel.org>, <vbabka@kernel.org>,\n        <linux-mm@kvack.org>, <arnd@arndb.de>, <x86@kernel.org>,\n        <baolu.lu@linux.intel.com>, <iommu@lists.linux.dev>,\n        <m.grzeschik@pengutronix.de>, <netdev@vger.kernel.org>,\n        <linux-wireless@vger.kernel.org>, <herbert@gondor.apana.org.au>,\n        <linux-crypto@vger.kernel.org>, <dwmw2@infradead.org>,\n        <bernie@plugable.com>, <linux-fbdev@vger.kernel.org>, <tytso@mit.edu>,\n        <linux-ext4@vger.kernel.org>, <akpm@linux-foundation.org>,\n        <urezki@gmail.com>, <elver@google.com>, <dvyukov@google.com>,\n        <kasan-dev@googlegroups.com>, <ryabinin.a.a@gmail.com>,\n        <t.sailer@alumni.ethz.ch>, <linux-hams@vger.kernel.org>,\n        <Jason@zx2c4.com>, <richard.henderson@linaro.org>,\n        <linux-alpha@vger.kernel.org>, <linux@armlinux.org.uk>,\n        <linux-arm-kernel@lists.infradead.org>, <catalin.marinas@arm.com>,\n        <chenhuacai@kernel.org>, <loongarch@lists.linux.dev>,\n        <geert@linux-m68k.org>, <linux-m68k@lists.linux-m68k.org>,\n        <dinguyen@kernel.org>, <jonas@southpole.se>,\n        <linux-openrisc@vger.kernel.org>, <deller@gmx.de>,\n        <linux-parisc@vger.kernel.org>, <mpe@ellerman.id.au>,\n        <linuxppc-dev@lists.ozlabs.org>, <pjw@kernel.org>,\n        <linux-riscv@lists.infradead.org>, <hca@linux.ibm.com>,\n        <linux-s390@vger.kernel.org>, <davem@davemloft.net>,\n        <sparclinux@vger.kernel.org>, <hao.li@linux.dev>, <cl@gentwo.org>,\n        <rientjes@google.com>, <roman.gushchin@linux.dev>","Subject":"=?utf-8?q?Re=3A_=5Bpatch_14/38=5D_slub=3A_Use_prandom_instead_of_ge?=\n\t=?utf-8?q?t=5Fcycles=28=29?=","Content-Type":"text/plain;\n\tcharset=\"UTF-8\"","X-MAIL":"mse-fl2.zte.com.cn 63DD2n3P010875","X-TLS":"YES","X-SPF-DOMAIN":"zte.com.cn","X-ENVELOPE-SENDER":"hu.shengming@zte.com.cn","X-SPF":"None","X-SOURCE-IP":"10.35.20.165 unknown Mon, 13 Apr 2026 21:03:15 +0800","X-Fangmail-Anti-Spam-Filtered":"true","X-Fangmail-MID-QID":"69DCE991.000/4fvSJL6XM3z1DDv","X-Spam-Status":"No, score=0.0 required=3.0 tests=SPF_HELO_NONE,SPF_PASS,\n\tUNPARSEABLE_RELAY autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}}]