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 BA496C4345F for ; Mon, 22 Apr 2024 13:56:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 319D96B0092; Mon, 22 Apr 2024 09:56:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2A2286B0093; Mon, 22 Apr 2024 09:56:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 16ABE6B0095; Mon, 22 Apr 2024 09:56:45 -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 EBF9E6B0092 for ; Mon, 22 Apr 2024 09:56:44 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 77DAB120C45 for ; Mon, 22 Apr 2024 13:56:44 +0000 (UTC) X-FDA: 82037318328.01.98D558E Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) by imf08.hostedemail.com (Postfix) with ESMTP id C51E1160015 for ; Mon, 22 Apr 2024 13:56:41 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YNmAEj7x; spf=pass (imf08.hostedemail.com: domain of hyunminlr@gmail.com designates 209.85.210.169 as permitted sender) smtp.mailfrom=hyunminlr@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713794201; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=JekxZOs0+d3BD985KWqNAaiZyAs2a0eyMlz+Rr1BxQA=; b=Pcce3B+stfQmDBsgt+VrXmIZJm1GEe8bCk4trWRSRQqdHGfaHYFtdkH3Nu1z1K91fkRP2X 1wwAgio/lHCAjn5zt0akqfCcO0IlafHJYYGdfFxIUUApRJ2dX7JjdGMoIFGqtkYDvp94xa ZfExZ3rJD9sv3hnt3p9/+drrrso8bd8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713794201; a=rsa-sha256; cv=none; b=yJ1at9FWvXyn29v8qvBD9vv737E5KXP2OEtc19R4sR74VJbqGZufEU8i+2qRA1PnGVOSO2 xkiPl92x8bIKpGzQ1EtGz95tO/+FVt9ehUO1XKh29m46wQFGbFtYIG/l5LRNX5YwCUni0y PtiW4H5gVaZaOL74hVRu3Z5DIiO2NtE= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YNmAEj7x; spf=pass (imf08.hostedemail.com: domain of hyunminlr@gmail.com designates 209.85.210.169 as permitted sender) smtp.mailfrom=hyunminlr@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-6ed01c63657so3855289b3a.2 for ; Mon, 22 Apr 2024 06:56:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713794200; x=1714399000; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=JekxZOs0+d3BD985KWqNAaiZyAs2a0eyMlz+Rr1BxQA=; b=YNmAEj7xwjsUZhZnOgxQSp4ZRDpIUKP58ggnPdS/AqpYhrXmJ/CpHjz4Is+h4ZPvcD Woq2w+PVonL/hGEnnIQxBCBIaNCWyHf9m2iaNAsmUr2o7j9iiIhyGjQsZGz9qj/Uzx+O j4JDVD50bI0m/Kr7sqDWgiW3NovUei8CoHCbAx5wYKoDI6O/ZKRvUr9V9AX5/f3QyzhB i22ifHcNKImH+PLwozhiilpG3I7TG8/heH6bp1EpKeh54j0FN1dwijeCuKgneWUxQsnb j6aHEzGOyWCdIFMnc15PvDBrDj33uWoeLem2V7cAi1IoQykJ1kTV1VOuPoNrcx3Oe1I2 LCLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713794200; x=1714399000; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JekxZOs0+d3BD985KWqNAaiZyAs2a0eyMlz+Rr1BxQA=; b=P6CTcagJCCHl6X2vbqbvj0pFsrcYrpcVYhoCv8/6PrG/qR6PpC6D7G1ZXq9cdyeUYU xcEFf/TR2j8yUdMXAwD6YwK7WbNFL3U1foqVHgyNZbGrahl2d0BNuaajhlF+d0vy5Wiw xRy28h0Gf+N++7mL/0ZNnS+h6e5y3jPl/RG4Vba1qbw92QifAAr9eTh8fLSIOHqHXcSZ gRVFFMBFSfMrhjD4esEDJSrJ20LXSoc/cDG7hv1iJ+mKk4k7yfsBwgjBZDEYqTmi9Ere mQkRmT77tQsihukijU2DYdaDU4lIKoGn1C3orjxCjMMopRx1Ia4o90kw43t2qB85eahS AfXQ== X-Gm-Message-State: AOJu0YzHEH1g9gGhIxjpo2ZQr45wbB2NKdOQ8YbVnkxeSXywO7wkBGJd TNAZ4iJxcJ5O+5cMMU0+QkkWKUd3CVAbFOQ6oOQ2i6lgbzHq25KezpWOugCTwVo= X-Google-Smtp-Source: AGHT+IE1p0eE/40h23EAFwZDnEg/TI5HLLqNHp3n2O0dLjnJ4tE8oZVGxZ/lqEOQmwyjp+Ro2UDQew== X-Received: by 2002:a05:6a20:560b:b0:1a9:83f5:2265 with SMTP id ir11-20020a056a20560b00b001a983f52265mr8030854pzc.55.1713794199664; Mon, 22 Apr 2024 06:56:39 -0700 (PDT) Received: from MinsLaptop.localdomain ([125.177.3.166]) by smtp.gmail.com with ESMTPSA id t9-20020a056a00138900b006ecf72e481esm7847797pfg.26.2024.04.22.06.56.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 06:56:39 -0700 (PDT) From: Hyunmin Lee To: linux-mm@kvack.org Cc: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Jeungwoo Yoo , Sangyun Kim , Gwan-gyeong Mun Subject: [PATCH v2] mm/slub: create kmalloc 96 and 192 caches regardless cache size order Date: Mon, 22 Apr 2024 22:56:33 +0900 Message-Id: <20240422135633.27665-1-hyunminlr@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: C51E1160015 X-Rspam-User: X-Stat-Signature: ybegh4yz9dyhze5gh7ruixaz6ybxkkwg X-HE-Tag: 1713794201-10098 X-HE-Meta: U2FsdGVkX1+uXyPDDWE5Fs47dEWmG7+fIbsgT9IQWSREUs7tfm3dkca0fCOmI3WM1VkpcBBrrfzCPE6KOfeRT/aDoXTW6rCTI4gv6feh7JoB9QS1a1xTyM854bRelU4bBID8U/ItlqXPbpZKH1yfWnTHoR+Fwjck5JjOzpWXiaiQXpQlUSXCKQvAlQHY1iLrNG5BCqAqlXzMOEpT52+ao22A+9OmD5pHDHNmuBIUzXUU9YmiB7fUQONlwXno7kMZcKeDsIsncD5UMnb6J04tWjnDRGoROyNJ0bcOyzXTPhhfM0cUX4voOM1I1NO8ixNl1r/RYhdjzmS8mv0031NW/3ANbJxxKUApcNBZwfSNBpd0iMl6+M28OoKbHaZYo06K/AJFgpZcCmG0l8xFDJGKJpkJ+/QWoSISGBheN6zs7iWfMmkZWX71IZ1oB1x0POgMm3v3S9wuVkDDADhq5jIYX1lRtIQDkKJlXUnmapcoYTwBp8SbpxGRFMMMysVzaefeBv2FyC1pj9myyQDXw/fOTsh7T0XSH3o3EBvcy+kYAsiwDYc5LgRw6cLocDGzqX2kSOjPQNhBUf83SIYA2pqGtx8b6zWlZgVJxmZ1WHwxHbjuE9PNWzZ9d79qkZuYASAhvfyVAc4E1ycYi1bNAm0NgnCiv51B3OwmI6X+ksTMvEytACBABoNCMpwSzMyiCj9t9xids/Hdtr7COAYB7ZT/FoIUH/ApYeQeVqMRtDlYVgkebQdkWf9RSC4mzVkZKQm2OrXyUHzyz8bxH7jSFQSh4/oUifUZGXrlyiPTWD1xIRfJLRthyDnpO/WgODCfNuGlDGI8QwGKgRn1d7vYnnyl+QIFrhRZ9d/3zDiHWw9vho53ecE5pMirE3nrWwwGxt0AmNutRfCnkKkpslxbwevni6i80DoW1K4ohTB/yfXNVAUTD+RXqdS24Z+KT/7unxBu4DV5u5eOtMsVJnjLjc9 t4jmbgkp aNutRX1Ur1W7EISAFitDcu2A+4yOu2UdI02DOQipUzS3rMXhCtNedMLKYmy8EyTv1MeNrr1aN96gOYoErzhvSW8Gy6uKxMn1xJY8qE31qY3dzRcBVc6MhRgcy0v59IuCNs+L8+r4C8QaiWtOpwVbbv6zdD4jrra3IsK1h1F7VmGRMT1wN7nTIZt48K0B0qqhz19z9EJ5N89qeGUSVnA8soRFvPMY4pwKzeL3LEtXWBVqsWN3f39WCoMZGcAOIr1xCGNCDhujACGsJRXofeS6YVxgr10RIpuIvEeMfrRE0WaSAM3+zq4qVsRcR2lqvoqv88e3cgfaTLw2VXXVFVL7ScSH58ceBWP+WupAcy5uw5pIH4PhehBYSXVoBAuvBY2I72kvH7pr7KIrESsDHRSO/Q9HeSJ1M7ySCQnp40zchHz1dsDKOXsFZrRYzG5nEGPcdRr1+u4lwKMo0hHq0BQHAXLDm2wN4qvtqRgYAm8/4KQyID5YWMHSdq3Wb8+h2U6r9vfbshddpyVhL8zShUDiVm8+g6IOIMOEtyHVD 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: For SLAB the kmalloc caches needed to be created in ascending sizes in order. However, the constraint is not necessary anymore because SLAB has been removed and SLUB doesn't need to comply with the constraint. Thus, kmalloc 96 and 192 caches can be created after the other size kmalloc caches are created instead of checking every time to find their order to be created. Also, this change could prevent engineers from being confused by the removed constraint. Signed-off-by: Hyunmin Lee Co-developed-by: Jeungwoo Yoo Signed-off-by: Jeungwoo Yoo Co-developed-by: Sangyun Kim Signed-off-by: Sangyun Kim Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com> Cc: Gwan-gyeong Mun --- David Rientjes suggested moving the check for NULL kmalloc_caches to new_kmalloc_cache(). It looks like a good idea. So there will be another patch for it. mm/slab_common.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/mm/slab_common.c b/mm/slab_common.c index 3179a6aeffc5..1c2aee01a799 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -919,19 +919,13 @@ void __init create_kmalloc_caches(void) for (i = KMALLOC_SHIFT_LOW; i <= KMALLOC_SHIFT_HIGH; i++) { if (!kmalloc_caches[type][i]) new_kmalloc_cache(i, type); - - /* - * Caches that are not of the two-to-the-power-of size. - * These have to be created immediately after the - * earlier power of two caches - */ - if (KMALLOC_MIN_SIZE <= 32 && i == 6 && - !kmalloc_caches[type][1]) - new_kmalloc_cache(1, type); - if (KMALLOC_MIN_SIZE <= 64 && i == 7 && - !kmalloc_caches[type][2]) - new_kmalloc_cache(2, type); } + + /* Caches that are not of the two-to-the-power-of size. */ + if (KMALLOC_MIN_SIZE <= 32 && !kmalloc_caches[type][1]) + new_kmalloc_cache(1, type); + if (KMALLOC_MIN_SIZE <= 64 && !kmalloc_caches[type][2]) + new_kmalloc_cache(2, type); } #ifdef CONFIG_RANDOM_KMALLOC_CACHES random_kmalloc_seed = get_random_u64(); -- 2.34.1