Message ID | 20240305101026.694758-1-keescook@chromium.org (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 E9138C54E41 for <linux-mm@archiver.kernel.org>; Tue, 5 Mar 2024 10:10:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 66CC56B0087; Tue, 5 Mar 2024 05:10:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 598996B0089; Tue, 5 Mar 2024 05:10:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 413416B008A; Tue, 5 Mar 2024 05:10:31 -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 2B8B36B0087 for <linux-mm@kvack.org>; Tue, 5 Mar 2024 05:10:31 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D513D40DE7 for <linux-mm@kvack.org>; Tue, 5 Mar 2024 10:10:30 +0000 (UTC) X-FDA: 81862565820.13.F575FCB Received: from mail-oi1-f171.google.com (mail-oi1-f171.google.com [209.85.167.171]) by imf25.hostedemail.com (Postfix) with ESMTP id D93C5A000E for <linux-mm@kvack.org>; Tue, 5 Mar 2024 10:10:28 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="LMtbRI/a"; spf=pass (imf25.hostedemail.com: domain of keescook@chromium.org designates 209.85.167.171 as permitted sender) smtp.mailfrom=keescook@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709633428; 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:in-reply-to:references:references:dkim-signature; bh=D8rMBFW0tg47V1vhR+hT7ZAeuwLlaibSycxaH+YicYQ=; b=U6MDQxZsBFp3tE9Txdb7SdY/FbtE2fyLAO+KX8bp0JACNTkChQ4WrxLiKH8tdu4VuSUKiS B1+3hSbBmrVwELUv5WDXLl+BKB57h9VSf+/B2SdXV6LP1A7hqyphbq0C2smZmt75sSyQcx FffImkzyxtjgJfmBmRZykJM2Zq4a3zs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709633428; a=rsa-sha256; cv=none; b=3pYaOZZE9yoPgRYuS7MMSaI/miB9bQqAqwCvW5llKnxDtMUIj0aooPkcfcb7Ho045frJRO U29Zf8K6sQk8sgrqXuKVYX6IXtAEiBTQWr5pBBxaoXZbtEDZrSaTDrRIV814ZzZPg1JO7E 6lueiRrwgBNhP/7TFQ0VCCPDH5nkvyY= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b="LMtbRI/a"; spf=pass (imf25.hostedemail.com: domain of keescook@chromium.org designates 209.85.167.171 as permitted sender) smtp.mailfrom=keescook@chromium.org; dmarc=pass (policy=none) header.from=chromium.org Received: by mail-oi1-f171.google.com with SMTP id 5614622812f47-3c1ea59cf81so1177187b6e.1 for <linux-mm@kvack.org>; Tue, 05 Mar 2024 02:10:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1709633428; x=1710238228; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=D8rMBFW0tg47V1vhR+hT7ZAeuwLlaibSycxaH+YicYQ=; b=LMtbRI/aNeLQE1gJYbIVjvi4a5+6w72rzf2TotbmrdGuJ24BAX78QfOXRQwMuSZt35 rgqd1ch1HbAeibl5aBDLprxUo7nj005puIBDmbNhARVfntCj7U1woyGR5pR30MTNcexq 6AsOlxLbkrRqjQhf1khnzH4DOvalsbC+RufwU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709633428; x=1710238228; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D8rMBFW0tg47V1vhR+hT7ZAeuwLlaibSycxaH+YicYQ=; b=omxNsvWR3LLCR1rF6XKD5jmbsbaXcPfAhWGfxkAar23g6qb6juidOOWCnyLtm5NoEv ++HZGx4t95UX6y1tX0BIcfUNKiz6xhvxQxxN+83wb2EvJk0B6MukGAelyfpOMhLtF/Hs 0oY0Gp5dEfLdvAyTjodapnv6NS/72WVGVhpgpvMioqdE98moIlM9hQRluxoYS+kZJ69/ ry5I972wHTfScP9kjU4qzDYl40pNMeaU+tp4fFCumXi9RzGBGM9fmTbSAVyGu2W2OCle eGT6/6Phx24lZuLT+YHv9ZnTRp+OpWTf1dvJuOD0xTtZmFnvWNa/uxOkJrqDKtlWW8k/ zZ2g== X-Forwarded-Encrypted: i=1; AJvYcCX5fKQyV5fuESmAqd/OUzI2A9+WJ9ojlWRr1/uJZKMyundm2ifynad3+dkKQXx7olSPTGrSdKRG7sUBpHcWLn49g/s= X-Gm-Message-State: AOJu0YyL+u6TCW3jMYo63Vy7UFyPdYbymnDyQlMKCpa3otKrdoHBviDT 9Zi8WkGAc3gFsmodZOASCPQKtpJPQtVIVrkEcHgVOnOaAkolHDwWy4q6cf1hkg== X-Google-Smtp-Source: AGHT+IGYfAbScDqt9gSvtMMgpvMOmJMAT2r+uZEpZv8yZZyNk7NeKQx1h1ByxW1TZ8pqZAe02uLOcw== X-Received: by 2002:a05:6808:607:b0:3c1:559b:4290 with SMTP id y7-20020a056808060700b003c1559b4290mr1272920oih.42.1709633427854; Tue, 05 Mar 2024 02:10:27 -0800 (PST) Received: from www.outflux.net ([198.0.35.241]) by smtp.gmail.com with ESMTPSA id y185-20020a638ac2000000b005df41b00ee9sm8692546pgd.68.2024.03.05.02.10.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Mar 2024 02:10:27 -0800 (PST) From: Kees Cook <keescook@chromium.org> To: Vlastimil Babka <vbabka@suse.cz> Cc: Kees Cook <keescook@chromium.org>, Christoph Lameter <cl@linux.com>, Pekka Enberg <penberg@kernel.org>, David Rientjes <rientjes@google.com>, Joonsoo Kim <iamjoonsoo.kim@lge.com>, Andrew Morton <akpm@linux-foundation.org>, Roman Gushchin <roman.gushchin@linux.dev>, Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-mm@kvack.org, "GONG, Ruiqi" <gongruiqi@huaweicloud.com>, Xiu Jianfeng <xiujianfeng@huawei.com>, Suren Baghdasaryan <surenb@google.com>, Kent Overstreet <kent.overstreet@linux.dev>, Jann Horn <jannh@google.com>, Matteo Rizzo <matteorizzo@google.com>, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Subject: [PATCH v2 1/9] slab: Introduce kmem_buckets typedef Date: Tue, 5 Mar 2024 02:10:17 -0800 Message-Id: <20240305101026.694758-1-keescook@chromium.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240305100933.it.923-kees@kernel.org> References: <20240305100933.it.923-kees@kernel.org> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1794; i=keescook@chromium.org; h=from:subject; bh=Wyo8wzm4MTDz4JStiYyO080jO0R+E8V6S6bv9ZTR4iA=; b=owEBbQKS/ZANAwAKAYly9N/cbcAmAcsmYgBl5u+QdzwZRrBHJ6q6tZF3ljbnIROOFCv0Jfi5y dLhu0dVnMWJAjMEAAEKAB0WIQSlw/aPIp3WD3I+bhOJcvTf3G3AJgUCZebvkAAKCRCJcvTf3G3A JhRGEACXqOYvigduxdiLg5s3NKoZ5sAGZvlIOApR3AAy5NlVdVm3El7+ClqD7kAsaRASlCZzfCE SnrdJUJTmH8pIf9m0+2frgqPwuRmMlb09607iDkUQPLPN1YxJMR27tBwJWq9BgA3ubUWo+QsdgT YXE7VP7nPQdqREOzraeyi2MHH+U3DNUaP61lbMW6KxmdVKDTNvRohGXZ4t+fDkAx3qPc5WUijJu +T0ZdLwbHIqRgXmTleQTynxNAt+ias93uGlGLgEDjoQZXs3asvnUvukRlD4dRoL8Jw9iQijFq1Q Dt4OD7yUPU+PD4XJr3GZIJhcJtIYM4IVHGlAVfYnKDclM8zlcITotaYHXQpXMql4PslEEE4eao3 2lj3oguta9XJ6ZA8lMy1oJUDczWNwOLRtiE4ocEojO7GA2/sMkSDKFBWiQoXoqqozQ72/GOfjya z0P7wyB5UCUQt13UQzDHMpYOQ/D5+iqge17qSf3KrlYD3bDZTO0UxJ6zzyDqVGApKdVJXmzv1nS 5BCsV9JIyHRHMs1bxaWyexVgrO27nMe+VW7LxuZWBm53lHjxxXQXT0bPu26dEUkeQrRMBN6BrfR Hi8QkUDZmoqSL/wiOIGv/c+qZfMpokFWp+beQoz6lhK2cuoYx+8nFdtG2JAcDlfnXKJ5RU+DLD4 BUBdZTAp9dA4F9w== X-Developer-Key: i=keescook@chromium.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 Content-Transfer-Encoding: 8bit X-Stat-Signature: zsw4hwoeeqxt1sfrg9p51paaat9bpwt4 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: D93C5A000E X-Rspam-User: X-HE-Tag: 1709633428-208932 X-HE-Meta: U2FsdGVkX19x6nnOg7jcZwEqgGZjaLOTV57sx3uauD+07qhls35Jozcpvtdjzqls50qGY4kUD5Ss/+dPQeboYLsGvJcnOKWGE3n2kqZvXN4BKeEfV8WpumoPEJ2pClnAFrWrIDHNR7WPHYg6lwNL5M3d+qaxv2I1jzS6GeuBDLmQsEXws2CtvEZSDhY29yXOv3St7myN0S1kqt4gPOXMP07Th81Bx3qjbJlvxXU9Kzxo9q7wB899vFwzDUcxKTpO3yIr/+ShXeqSa8jmHAkU5f2hnuKuGQR+4yP5VDscwFSB+CW/ar7zCudxccKXmOfm06HgsMNtlpQA4jJ55tREElrAXifrM0ri7eBdkI3SYsAPyNlPUxACN/l/fU2Vdi+S+mUGZwCCf1LQz149wPkwgFpZyQco5p7Pkn7xIYD3nQb6y1/lFdB3TEUqEyejxKdnsyKRjWbta19usS4wMzounXqJTDTwBN9kaRpnnvWLYrWxSiBcUAvaRaM8AqyuAWDoA7dRqkW8mUOlUelw2yiZHCDc5DG5BarXcDWIS9MXvrAs2lltVwiFamAYqDF+gGaW6w1yoIRNtUfzZh81TX0OUrdPjTCDUkdH0KsBcZ/Kx8gGFJsahIA6HHjw8oedV+lGaaR21IbSaiiLpa/wfHKjU1s6TU5ZafDMx3yRt9yJVC68EZATiko27HXMqBYX3ovC0NDJvu5uDaaO7TJ/gH65gAhr5EMejao/2DzDppff8UQWdLJnC7N1Igo0H2NOUVSKe5oA/LeYEBGzzbGHvrSwdvkHWAa7jYriahEjuCjDIugeW2dnhd8AJo9d4Erhlw4hOvb0IPZRSiW92pzdQROAmzo+udgP+FFEidSpfmy1XkPzPNeSB/J/uvPticIhY4PKnbHvteYVFmDNbgcDQdaITzZ0Z9krR2MasbtdiFTeF6BILcb8qskpf7odaledy8P+TJRHvoMMnEPo1j3CzJh a7sfXbw+ vU84ty1jhNGSHJQBau7n7lveP/aYOBYVxAz+jFHNtf6MeZCAi5Kw7l01z5MNtPIxC5bq1mncHr2olOeCE5AjtKQYKF0c+Tm3MJ1ZHQh9rBsE7VgkzjJTaUbEZs3rP8vJ+pJI/AlyHqSkKrWcOAGjxUGOkxPaUPU6YDAK8pMpUAZB8mgdae/140X/Ge81Rubk5ccmFRfYvQvcf8i+ln9xYMjC/qdfISKGItBUk8d3nrHp72+izVo4EbDuTi5FIoIECROOg5EjT9j5cBS7R1pndaB9YBEKrBoui2JjoNcnWE4r2809xqPy+PtmJtNxyJmI/Al9iDhjOjuAISRHgVXBZIoBOAEbO/3OsCH/doXs6LzQ+s7+shU2U30T0siI41ds1+wTjLl5ZA1QX9cFxjJc1Fj1r5cONDKmko9tvSRXQZc9rViEAdp1Mr+guUIMYm0D3AFtUJgly/KRmZazIos6CLdhHsxBaS3FYFZTmT4cnPhsH2sSVIjdW71EOfp43d3vZHrTI6faMAkQZVLbeXeEkpz7gGY8WtF6X9xKEmPyNO4P2FTBer3o62EMY8yDS4/pmbnRwOEYRDuaQBkNB7aY3m3urI5PJRGwmUYUEEL2G/rG7UCKezE6JcQqbiwajBIaHP+LEA208UdPqJHoxc8QRDnuuu4pcw7J9gIu6eOAwqQpfD8s21QIke8A3YX7dQjHU2ethucHK/5CHlH89dwgEtYHF3kG0YtquWnHN5ByDm11lPbIgNrXi6VHAZ+uOrk0Dwo0b1p9cNtcCK6XuoWrGI2SdJp0FeF+fKEDdvqj7J8O+YWq6SK5dhD8DyZL8GNIYNaL2paEXpoJaZpSttIQGtYXelXxNDqZG0hpdAX7h+P67PMbY42nVaMGRbjnJYMoC7nqXd7Vs8DLIPaq2uj7cNxswSo1pbFLEUbeRaerE9uEqos8= 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
slab: Introduce dedicated bucket allocator
|
expand
|
diff --git a/include/linux/slab.h b/include/linux/slab.h index b5f5ee8308d0..55059faf166c 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -375,8 +375,9 @@ enum kmalloc_cache_type { NR_KMALLOC_TYPES }; -extern struct kmem_cache * -kmalloc_caches[NR_KMALLOC_TYPES][KMALLOC_SHIFT_HIGH + 1]; +typedef struct kmem_cache * kmem_buckets[KMALLOC_SHIFT_HIGH + 1]; + +extern kmem_buckets kmalloc_caches[NR_KMALLOC_TYPES]; /* * Define gfp bits that should not be set for KMALLOC_NORMAL. diff --git a/mm/slab_common.c b/mm/slab_common.c index 238293b1dbe1..8787cf17d6e4 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -649,8 +649,7 @@ static struct kmem_cache *__init create_kmalloc_cache(const char *name, return s; } -struct kmem_cache * -kmalloc_caches[NR_KMALLOC_TYPES][KMALLOC_SHIFT_HIGH + 1] __ro_after_init = +kmem_buckets kmalloc_caches[NR_KMALLOC_TYPES] __ro_after_init = { /* initialization for https://bugs.llvm.org/show_bug.cgi?id=42570 */ }; EXPORT_SYMBOL(kmalloc_caches);
Encapsulate the concept of a single set of kmem_caches that are used for the kmalloc size buckets. Redefine kmalloc_caches as an array of these buckets (for the different global cache buckets). Signed-off-by: Kees Cook <keescook@chromium.org> --- Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Christoph Lameter <cl@linux.com> Cc: Pekka Enberg <penberg@kernel.org> Cc: David Rientjes <rientjes@google.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Roman Gushchin <roman.gushchin@linux.dev> Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com> Cc: linux-mm@kvack.org --- include/linux/slab.h | 5 +++-- mm/slab_common.c | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-)