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 7D744C433EF for ; Thu, 14 Apr 2022 08:59:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1B89D6B0075; Thu, 14 Apr 2022 04:59:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 169C56B007B; Thu, 14 Apr 2022 04:59:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 030A76B007E; Thu, 14 Apr 2022 04:59:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0006.hostedemail.com [216.40.44.6]) by kanga.kvack.org (Postfix) with ESMTP id E91276B0075 for ; Thu, 14 Apr 2022 04:59:50 -0400 (EDT) Received: from smtpin27.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id A6081A5D2A for ; Thu, 14 Apr 2022 08:59:50 +0000 (UTC) X-FDA: 79354886940.27.404F357 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by imf15.hostedemail.com (Postfix) with ESMTP id 08DDCA0006 for ; Thu, 14 Apr 2022 08:59:49 +0000 (UTC) Received: by mail-pj1-f51.google.com with SMTP id bx5so4519184pjb.3 for ; Thu, 14 Apr 2022 01:59:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=l9QL4BycKE4eFXdrmUENq07WhnIQYOOU7butyGlrlts=; b=oLxmbrdrrSYOas267DSbgnV7X8Q/M59tbvkzw39YowuMa64Stzy1Sc8jRluxQdezP0 l1U5kP+u3MOVEuii/WM2XiAh4B58+UWrMK8YwohsdbefFYmO/oHVr8S66x2ZpuxhG44x 4Z4Oc+GPnUvwz/ShIKcgm74rGBZLYTuHCRpl+x/SbY11vbucdT/KaTNwb4B6O35Y4NAg Ka3rTgD2CJnenUkq3d2MuHWGZneo6s2DoYCL5GSoIM8BvRFOjFLb+MDcs6cQ2Zod9Y9v qW8iJh3R5ZK/Rihp8i1pWxhoUpxne6sbZs/VxMXWAMdjRn/cNTEWx5lrUVSUNwpnjhJS w8IQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=l9QL4BycKE4eFXdrmUENq07WhnIQYOOU7butyGlrlts=; b=nIne9g3cnsvrYN1KPJHuGjFOxeCg9ZvOutqvkq7OyJZLqfvqqfyViBbRUnE7z/DBLN YLQgco4wicxOsv8KpCnseEWhqZ48QYMyG7vvX519OfQdJKPy5rLZ6x5WQmNtRMb1Cues ZaMpoKXGouIQpXdYAFirSK8EEsGEE75fcdLNfR10RKCATZfa8IyRBsJkgRPyPW0ezmIs pzDw3MzDApfOExQVpYuGb17w1bg1Bu/QLf4MUZATNWE4gJvuhOZF0LeBkENK3qJdaCRX dRIbUOgLfTbCqT40JJjvHqF8wK7M5clJP6ITPpJyekQShbC4wMt4WqIXVjFZ1ApOkkcT 10Jw== X-Gm-Message-State: AOAM530VOm/H0zB/gVBoCWxMoPbfg7c4USjmLaH8cNvGAfxUsm8vE0kr zheccRpnysh5aaBvCmk83dQ= X-Google-Smtp-Source: ABdhPJwMF9eGt5BVU1QUVYQqLceYeeGQhDCgIiFSWMMEQ+Qv2jWmAMGkEiShivvQT1P6HAfwJXPljg== X-Received: by 2002:a17:90b:4f8d:b0:1c6:408b:6b0d with SMTP id qe13-20020a17090b4f8d00b001c6408b6b0dmr3217496pjb.90.1649926789022; Thu, 14 Apr 2022 01:59:49 -0700 (PDT) Received: from hyeyoo.. ([114.29.24.243]) by smtp.gmail.com with ESMTPSA id p9-20020aa79e89000000b00505fada20dfsm1403537pfq.117.2022.04.14.01.59.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Apr 2022 01:59:47 -0700 (PDT) From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: Vlastimil Babka Cc: Marco Elver , Matthew WilCox , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Roman Gushchin , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 21/23] mm/sl[au]b: remove kmem_cache_alloc_node_trace() Date: Thu, 14 Apr 2022 17:57:25 +0900 Message-Id: <20220414085727.643099-22-42.hyeyoo@gmail.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220414085727.643099-1-42.hyeyoo@gmail.com> References: <20220414085727.643099-1-42.hyeyoo@gmail.com> MIME-Version: 1.0 Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=oLxmbrdr; spf=pass (imf15.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.216.51 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 08DDCA0006 X-Stat-Signature: 4ejg89oi8x86op4j5eynz9wi9dgqmkqm X-HE-Tag: 1649926789-782464 Content-Transfer-Encoding: quoted-printable 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: kmem_cache_alloc_node_trace() was introduced by commit 4a92379bdfb4 ("slub tracing: move trace calls out of always inlined functions to reduc= e kernel code size") to avoid inlining tracepoints for inlined kmalloc function calls. Now that we use same tracepoint in kmalloc and normal caches, kmem_cache_alloc_node_trace() can be replaced with __kmem_cache_alloc_node() and kasan_kmalloc(). Signed-off-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> --- include/linux/slab.h | 26 ++++++++------------------ mm/slab.c | 19 ------------------- mm/slub.c | 16 ---------------- 3 files changed, 8 insertions(+), 53 deletions(-) diff --git a/include/linux/slab.h b/include/linux/slab.h index 0630c37ee630..c1aed9d97cf2 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -497,21 +497,6 @@ static __always_inline void kfree_bulk(size_t size, = void **p) kmem_cache_free_bulk(NULL, size, p); } =20 -#ifdef CONFIG_TRACING -extern void *kmem_cache_alloc_node_trace(struct kmem_cache *s, gfp_t gfp= flags, - int node, size_t size) __assume_slab_alignment - __alloc_size(4); -#else /* CONFIG_TRACING */ -static __always_inline void *kmem_cache_alloc_node_trace(struct kmem_cac= he *s, gfp_t gfpflags, - int node, size_t size) -{ - void *ret =3D kmem_cache_alloc_node(s, gfpflags, node); - - ret =3D kasan_kmalloc(s, ret, size, gfpflags); - return ret; -} -#endif /* CONFIG_TRACING */ - extern void *kmalloc_large_node(size_t size, gfp_t flags, int node) __assume_page_alignment __alloc_size(1); =20 @@ -523,6 +508,9 @@ static __always_inline void *kmalloc_large(size_t siz= e, gfp_t flags) #ifndef CONFIG_SLOB static __always_inline __alloc_size(1) void *kmalloc_node(size_t size, g= fp_t flags, int node) { + struct kmem_cache *s; + void *objp; + if (__builtin_constant_p(size)) { unsigned int index; =20 @@ -534,9 +522,11 @@ static __always_inline __alloc_size(1) void *kmalloc= _node(size_t size, gfp_t fla if (!index) return ZERO_SIZE_PTR; =20 - return kmem_cache_alloc_node_trace( - kmalloc_caches[kmalloc_type(flags)][index], - flags, node, size); + s =3D kmalloc_caches[kmalloc_type(flags)][index]; + + objp =3D __kmem_cache_alloc_node(s, NULL, flags, node, _RET_IP_); + objp =3D kasan_kmalloc(s, objp, size, flags); + return objp; } return __kmalloc_node(size, flags, node); } diff --git a/mm/slab.c b/mm/slab.c index fc00aca62ae3..24010e72f603 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -3508,25 +3508,6 @@ int kmem_cache_alloc_bulk(struct kmem_cache *s, gf= p_t flags, size_t size, } EXPORT_SYMBOL(kmem_cache_alloc_bulk); =20 -#ifdef CONFIG_TRACING -void *kmem_cache_alloc_node_trace(struct kmem_cache *cachep, - gfp_t flags, - int nodeid, - size_t size) -{ - void *ret; - - ret =3D slab_alloc_node(cachep, NULL, flags, nodeid, size, _RET_IP_); - - ret =3D kasan_kmalloc(cachep, ret, size, flags); - trace_kmem_cache_alloc(cachep->name, _RET_IP_, ret, - size, cachep->size, - flags, nodeid); - return ret; -} -EXPORT_SYMBOL(kmem_cache_alloc_node_trace); -#endif - #ifdef CONFIG_PRINTK void kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct slab = *slab) { diff --git a/mm/slub.c b/mm/slub.c index bc9c96ce0521..1899c7e1de10 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -3222,22 +3222,6 @@ void *__kmem_cache_alloc_node(struct kmem_cache *s= , struct list_lru *lru, gfp_t } EXPORT_SYMBOL(__kmem_cache_alloc_node); =20 -#ifdef CONFIG_TRACING -void *kmem_cache_alloc_node_trace(struct kmem_cache *s, - gfp_t gfpflags, - int node, size_t size) -{ - void *ret =3D slab_alloc_node(s, NULL, gfpflags, node, _RET_IP_, size); - - trace_kmem_cache_alloc(s->name, _RET_IP_, ret, - size, s->size, gfpflags, node); - - ret =3D kasan_kmalloc(s, ret, size, gfpflags); - return ret; -} -EXPORT_SYMBOL(kmem_cache_alloc_node_trace); -#endif - /* * Slow path handling. This may still be called frequently since objects * have a longer lifetime than the cpu slabs in most processing loads. --=20 2.32.0