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 A7E78C7EE2E for ; Fri, 9 Jun 2023 13:04:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BE7E08E0003; Fri, 9 Jun 2023 09:04:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B71E08E0002; Fri, 9 Jun 2023 09:04:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9EB268E0003; Fri, 9 Jun 2023 09:04:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8D2148E0002 for ; Fri, 9 Jun 2023 09:04:01 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 5B574140233 for ; Fri, 9 Jun 2023 13:04:01 +0000 (UTC) X-FDA: 80883227082.16.156B331 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf18.hostedemail.com (Postfix) with ESMTP id 4E3721C00F4 for ; Fri, 9 Jun 2023 13:03:32 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=NKLoDM9V; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=4Kdhoqs9; spf=pass (imf18.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.29 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686315812; a=rsa-sha256; cv=none; b=EQbtJe4R3+lb/AZw0Ht6qpkB6r94E4yF8ll/k4FQr6nkgYIWTVuMY9mAuXud6dYLWh+gmf BX1PT8RlowTNf10PW9xi5aWl2zD0es5XwsrMlRMs+cpsuciTkV7K3FEYMHk9jLwflfR/1E QScU/mpmdcXUm6DA1zM1PC3nmRxVrdU= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=NKLoDM9V; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=4Kdhoqs9; spf=pass (imf18.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.29 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686315812; 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:references:dkim-signature; bh=iXTWetRzovuM3+C3woIc5wlaXXPnqlr1/vd1G1usCnA=; b=GYQtsW7tHq2hk6HUUUQTEeuNYZOgPTbUQ2KmQdkxFqG352tu55OzGbPFg/dtsZBOoLwxlm vmyOoz2p7xvjIXKwD3G1RX1JHmNHvhhParbc20Y0cEpiTc+ZyfIijUyqCTRf3VCPi9SwEW 20N5QJXZBTSAcMJpvhLI+253YSk9YCo= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id C0CD31FDF3; Fri, 9 Jun 2023 13:03:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1686315810; h=from:from:reply-to: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:references; bh=iXTWetRzovuM3+C3woIc5wlaXXPnqlr1/vd1G1usCnA=; b=NKLoDM9VxAHZQolEa6XBydB5sCBmBTA3EOB2v427Zs52gF1hLvLUYg5JjVWJMbQZFOuW1u QZjHQck54atKJ+w5nuFomg+f5tac2cYX3GANmZuEuNQDHw/d2WcqsKVrLTXp4097QiZcaP S6beFnRf85KmuZ8CmIOlBwi/iBH0Oo8= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1686315810; h=from:from:reply-to: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:references; bh=iXTWetRzovuM3+C3woIc5wlaXXPnqlr1/vd1G1usCnA=; b=4Kdhoqs9Qk7qEWjtCHoULTU+YsvIjww6lRSJ86R/yJgBpAL2FPREiYO023sOcOIlLv1NTP y2skYyMci389GzCQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5AA8713A47; Fri, 9 Jun 2023 13:03:30 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id MKRFFSIjg2SYTQAAMHmgww (envelope-from ); Fri, 09 Jun 2023 13:03:30 +0000 Message-ID: <91484289-3bbc-d834-f891-0b2ea1a0ae41@suse.cz> Date: Fri, 9 Jun 2023 15:03:30 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.2 Subject: Re: [PATCH v6 03/17] mm/slab: Simplify create_kmalloc_cache() args and make it static Content-Language: en-US To: Catalin Marinas , Linus Torvalds , Christoph Hellwig , Robin Murphy Cc: Arnd Bergmann , Greg Kroah-Hartman , Will Deacon , Marc Zyngier , Andrew Morton , Herbert Xu , Ard Biesheuvel , Isaac Manjarres , Saravana Kannan , Alasdair Kergon , Daniel Vetter , Joerg Roedel , Mark Brown , Mike Snitzer , "Rafael J. Wysocki" , Jonathan Cameron , linux-mm@kvack.org, iommu@lists.linux.dev, linux-arm-kernel@lists.infradead.org, David Rientjes , Christoph Lameter , Pekka Enberg , Joonsoo Kim , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Roman Gushchin References: <20230531154836.1366225-1-catalin.marinas@arm.com> <20230531154836.1366225-4-catalin.marinas@arm.com> From: Vlastimil Babka In-Reply-To: <20230531154836.1366225-4-catalin.marinas@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 4E3721C00F4 X-Stat-Signature: 9gkkef7gofu1p5zqtdhqzn7r46ntzpbm X-Rspam-User: X-HE-Tag: 1686315812-371663 X-HE-Meta: U2FsdGVkX19maVp3935RBVFnipIcP/VqlwENhvBZvRg0zZVTJt8hTIZsSnWsfYt5OqSm6YDyi6winYZy3RK9UvHSzOh8OIMs9plXMAusEVPIJrCk0J5uji4VnJo4/8PU929cFEVJ5FCOKzyPA9hi2HhoykSWjGt3S9JBYlQIXyBM0zLcFg/tm14xp582QwU6t3yhexC18m0lmiGtBqeC7pXa7j5h6p/6Dx1ZCtHImn4pGFUhd/x42w3OgzORbyeZXhCdjrJAZhP2P2URpMqJbQfegw9dPWl/Cg5XYXqIiHs3l90gis49VMpb3FcubmlQ+Z1raNGkPLIsiCmGmZDdImy67J6Xe5MGOG9l9iko2/HwEyJv5w3kjxns+sTRYB4las7bRf2ynz+fGQ76NeU3Sz6OmigJI638ApbUcZ/4J8EEyQOjx7CXcgO3IAqCybFWYd0kTNE16hcrJ+OUNUvsyMEi02TKwSqTRVFOfZj5kU1iRaJ326mxYRL+LyE6yWEEOy/uzH7B2qLqmYkw6rcqBb9X05ejYW06iExWQlU60pQG1l7TFdgUeTs5oE/IDwup0uAQe3G64k+Tltb1mNQLV1i+xk9J6fXpXnjjAKY17IQrIvdVu18iZ+gZVXXWqSU1wNLTOekQ4bBPsKZZ2YKDWBskFkQqhm5z2jn9EuJlk8JQ1QNJ+NixOtKl7j3nZ/bwIzmk50RIcvIg071eOG7aiq81jriMvNVSiMoRlHH/DgVll7eHuj3UWfHUGB0Oy7w7MVLUX3hEOtWHBzsq41ZpZCtxuQ4cIZC3+2Qb84KlM07tKTzEGLQ3oKzv1jKdPUtIqKZWHvfozlPxcvpC9HQ4HhKiFmuc4Mqanto0EVpRQwP+GqU3mmWSGsz3EAE8zUPB3G9kpZV2SXcqSZvdERQhV1JjVTbv5k+RG1aL+XwRZBwlml9RWdqkKCO5r+eTNw4Mfxk85lPMeWlYl5EOoek k5fE1Y9d 4MTTWyNVqTRuZMHv4HnohZSgIb0EzKtAtclPMwmxogy1HWfhxaC3jUcG05Jw+4zoUOGbsk32e20ggBcCANYK12LglLtE9LLnk8jbf1DnoBOLOkUhkhBo3DZWWKMUGqir9GVAQy32kJB5hoauSS/un4WlD0Dnnoh5dPESEReMQfs695U5Th5/AyuzE3+/1CGP6xsc5BvkGfPxOgy2fNBrmCLqu0pVniYskPfPmAQowsgnQ3e92qvbjaq25gndKPhXdEBb07/TqKerRuEJqeKDlCymw46PjjiIAut34Bs0we5IjkHuwwX18g47TWtNmWOEYruEyZ1vpREsFudh9YGBE05huCbHY3/3noVIzF7UYsXqW1ALnZ3ZbSvoDiZBfOVn0bb2/XynEjCuukj/5BIR/3iKkTaSrhQ3mVffxyN6ZP/+IKCF7jk8lpjjRXw== 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 5/31/23 17:48, Catalin Marinas wrote: > In the slab variant of kmem_cache_init(), call new_kmalloc_cache() > instead of initialising the kmalloc_caches array directly. With this, > create_kmalloc_cache() is now only called from new_kmalloc_cache() in > the same file, so make it static. In addition, the useroffset argument > is always 0 while usersize is the same as size. Remove them. > > Signed-off-by: Catalin Marinas > Cc: Andrew Morton Reviewed-by: Vlastimil Babka Nice cleanup, thanks! > --- > mm/slab.c | 6 +----- > mm/slab.h | 5 ++--- > mm/slab_common.c | 14 ++++++-------- > 3 files changed, 9 insertions(+), 16 deletions(-) > > diff --git a/mm/slab.c b/mm/slab.c > index bb57f7fdbae1..b7817dcba63e 100644 > --- a/mm/slab.c > +++ b/mm/slab.c > @@ -1240,11 +1240,7 @@ void __init kmem_cache_init(void) > * Initialize the caches that provide memory for the kmem_cache_node > * structures first. Without this, further allocations will bug. > */ > - kmalloc_caches[KMALLOC_NORMAL][INDEX_NODE] = create_kmalloc_cache( > - kmalloc_info[INDEX_NODE].name[KMALLOC_NORMAL], > - kmalloc_info[INDEX_NODE].size, > - ARCH_KMALLOC_FLAGS, 0, > - kmalloc_info[INDEX_NODE].size); > + new_kmalloc_cache(INDEX_NODE, KMALLOC_NORMAL, ARCH_KMALLOC_FLAGS); > slab_state = PARTIAL_NODE; > setup_kmalloc_cache_index_table(); > > diff --git a/mm/slab.h b/mm/slab.h > index f01ac256a8f5..592590fcddae 100644 > --- a/mm/slab.h > +++ b/mm/slab.h > @@ -255,9 +255,8 @@ gfp_t kmalloc_fix_flags(gfp_t flags); > /* Functions provided by the slab allocators */ > int __kmem_cache_create(struct kmem_cache *, slab_flags_t flags); > > -struct kmem_cache *create_kmalloc_cache(const char *name, unsigned int size, > - slab_flags_t flags, unsigned int useroffset, > - unsigned int usersize); > +void __init new_kmalloc_cache(int idx, enum kmalloc_cache_type type, > + slab_flags_t flags); > extern void create_boot_cache(struct kmem_cache *, const char *name, > unsigned int size, slab_flags_t flags, > unsigned int useroffset, unsigned int usersize); > diff --git a/mm/slab_common.c b/mm/slab_common.c > index 607249785c07..7f069159aee2 100644 > --- a/mm/slab_common.c > +++ b/mm/slab_common.c > @@ -658,17 +658,16 @@ void __init create_boot_cache(struct kmem_cache *s, const char *name, > s->refcount = -1; /* Exempt from merging for now */ > } > > -struct kmem_cache *__init create_kmalloc_cache(const char *name, > - unsigned int size, slab_flags_t flags, > - unsigned int useroffset, unsigned int usersize) > +static struct kmem_cache *__init create_kmalloc_cache(const char *name, > + unsigned int size, > + slab_flags_t flags) > { > struct kmem_cache *s = kmem_cache_zalloc(kmem_cache, GFP_NOWAIT); > > if (!s) > panic("Out of memory when creating slab %s\n", name); > > - create_boot_cache(s, name, size, flags | SLAB_KMALLOC, useroffset, > - usersize); > + create_boot_cache(s, name, size, flags | SLAB_KMALLOC, 0, size); > list_add(&s->list, &slab_caches); > s->refcount = 1; > return s; > @@ -863,7 +862,7 @@ void __init setup_kmalloc_cache_index_table(void) > } > } > > -static void __init > +void __init > new_kmalloc_cache(int idx, enum kmalloc_cache_type type, slab_flags_t flags) > { > if ((KMALLOC_RECLAIM != KMALLOC_NORMAL) && (type == KMALLOC_RECLAIM)) { > @@ -880,8 +879,7 @@ new_kmalloc_cache(int idx, enum kmalloc_cache_type type, slab_flags_t flags) > > kmalloc_caches[type][idx] = create_kmalloc_cache( > kmalloc_info[idx].name[type], > - kmalloc_info[idx].size, flags, 0, > - kmalloc_info[idx].size); > + kmalloc_info[idx].size, flags); > > /* > * If CONFIG_MEMCG_KMEM is enabled, disable cache merging for >