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 2AD19C71155 for ; Mon, 16 Jun 2025 13:52:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BE2568D0002; Mon, 16 Jun 2025 09:52:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B92278D0001; Mon, 16 Jun 2025 09:52:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A5A4E8D0002; Mon, 16 Jun 2025 09:52:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 955638D0001 for ; Mon, 16 Jun 2025 09:52:37 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 1D07914044A for ; Mon, 16 Jun 2025 13:52:37 +0000 (UTC) X-FDA: 83561403954.25.404AC6B Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf07.hostedemail.com (Postfix) with ESMTP id ED81B40012 for ; Mon, 16 Jun 2025 13:52:34 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bHV0K0Tc; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=uFbpwRGD; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=ZsErYesK; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=M5ekM3xO; spf=pass (imf07.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750081955; 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=HTx+hI4xt6iSJJj4xnIqdQLTXs9ciYhDC9ckQWuC4pM=; b=UKEWzdgyEOVAsFr509Zaq+Iwgfae2l8yjnYxSmTWgWM3v69SqJapCZdDdLZ+tZxa8aPMue pbyta8p7SonylAUmpf6jWsIKmVwL/FOABWIzRoD0ghOeJSkY61n/p4T52bN3D5Y/QRmorq JWeILKlVYti4Jl4S0yxoxeXBfq2b4jE= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=bHV0K0Tc; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=uFbpwRGD; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=ZsErYesK; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=M5ekM3xO; spf=pass (imf07.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750081955; a=rsa-sha256; cv=none; b=v30BVOwGELWPvXDCr9fA2IYC8JBxSWwgySc23zpn9PHyaw3VtlCfYMH1UcuV7eYfmi5g31 TBuB7jGeGyEw2M0zyyKuuAi792hh/n8AVHei4GYZYHXnL5MnG/v+VVZz0IFolh4onPAhfr KIGZtDypMhTtqred3G5S7K2mLCIrSFY= Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 78A3B1F74D; Mon, 16 Jun 2025 13:52:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1750081938; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HTx+hI4xt6iSJJj4xnIqdQLTXs9ciYhDC9ckQWuC4pM=; b=bHV0K0Tc2UHrdTB6pmoMJkle/JGx5tAu128OpT0+XaqtCPubWva+09OQjWl+GFTh+0GhtJ EbEohU3JIaU55N5+ARi89pWcUPKBY4dVVTQMdgybYQueAkEfAYQzsv4S5d3f9EZ6oWbu0T hNfFBNtoLIUR7cLd3zkrDYwPiaYDrbg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1750081938; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HTx+hI4xt6iSJJj4xnIqdQLTXs9ciYhDC9ckQWuC4pM=; b=uFbpwRGDOh7yrfbDCVIIoTOqURviulPjnhV7eV76YsFj2DyXcHLqMhwnc+ABOnO08Ya+X8 jS+JSdZlM4BOH/Ag== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1750081933; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HTx+hI4xt6iSJJj4xnIqdQLTXs9ciYhDC9ckQWuC4pM=; b=ZsErYesKIFG+499bMGk0cTXMjkXliQ+4zpeFmnUnHID/6QJ3GoCuNC1FJ/6Zq311pDnEGP QsIu0hEy5BH+E2OEce3KfznYkHC8SGjCNvw+3RcELcP5M7AvvvY1cVsynXTkQ3kc1dEkOJ z/9u8YZXOEzXr55eiZfVIwhxP/Al1yE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1750081933; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HTx+hI4xt6iSJJj4xnIqdQLTXs9ciYhDC9ckQWuC4pM=; b=M5ekM3xO0Kwk4MCEbfDEPURmwlYNpIWho+Y9Ggaw320rayuyJPH0d3YFSLx13olrgxxpGQ TG0r3RtPfyqX4oBQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id E142013ADC; Mon, 16 Jun 2025 13:52:12 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id MM5LM4whUGhHLwAAD6G6ig (envelope-from ); Mon, 16 Jun 2025 13:52:12 +0000 From: Oscar Salvador To: Andrew Morton Cc: David Hildenbrand , Vlastimil Babka , Jonathan Cameron , Harry Yoo , Rakie Kim , Hyeonggon Yoo <42.hyeyoo@gmail.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Oscar Salvador Subject: [PATCH v7 04/11] mm,slub: Use node-notifier instead of memory-notifier Date: Mon, 16 Jun 2025 15:51:47 +0200 Message-ID: <20250616135158.450136-5-osalvador@suse.de> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250616135158.450136-1-osalvador@suse.de> References: <20250616135158.450136-1-osalvador@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: ED81B40012 X-Stat-Signature: 86odmaz4f63w1qru589g979856wpco4u X-Rspam-User: X-HE-Tag: 1750081954-521682 X-HE-Meta: U2FsdGVkX1+HHUEmK/bLr433rolvMtyQTI9zUgrKtM1iSRB+Ov/ZOh1vfGATim8ptEgZUCMY3lieq545c9dmGo/pex9Gp9uU5FTFOvF2qQ+whF4dJ9DvcMZMFhKCXDJ13Ei7AvzIMB7Gy5XC8Q8wQgj4tshZTuY0R2/MeWhis34+N1zZpCL2aNsozS/odzSfjV9og12J6usamgsV68VilUbN97ss1IIwmQRX6JKv5QZPxgAxHcn9TAK61qAuUrJE1DrAzIV6Q+iFAXvA3vu74x06dEcK0hWURL9avylCfvkfhXRRPevE8lxHDPOfrZ56PDQjMYv+2bNQjZwitGcsHzV38AeDYtW+QEhN6Ji6JmxDfjMD3aeXsqlW8oC5/bSoTPaXbICaKVvEQTgdONZRb4k+NF2MshZ2KgqldAf2H5KLuMGTb/r4Yx3/H1whQBeZtfSTMiUTzpi+gnNwN5mXD+x3V8dUIpQgkDWUN9zDgGmdJL89dYbLUXK2U8VyQz5ztET6aOuykaZqSl8PJTifsn+VNZDKLOs60P1wzFxO75aU2hx1WcOifU8tYfdrITV45ursvbwgUgXaATMJPSf6Kq8Ve55cyANvOT4OrWLxMqdZJIzyP19BQj8ibedx8hy4GyJ90HT+jNy9ehoy2fN8AEacUhnaDslkDg7sjRhAO4t6kFxmdv8MLf+4z4EQZvU/DJmWLHPGHghSAH/6LZE8wBserwPqTmtIvJcHkoG9X3cuMEp2Litl+uChqzAEb51VBZLOCHm9rMXdfK29MOojdej5EUvz/0Oz4tdGSJxW/DyhPNw0ZoKlQRo3KjvWCBnjiUmBvgO15sLLslKKkKQbCIOxW12HJ/CTEe8nDf07/AL9lFggATrUt3kmUTG/DIZ4OFaxjYlRyeF89gDcNRnFWI25uggAbsdIg2SLuzu26rghmiTShAKK9hIQrah5s4xM1CErk7KYJ3lfCtkGABD vL2Api47 YXTNucPjcBLv45sns9x+M9Y9gasvf12knupB3poj1FYI2bUNsMMs/m1WvLapv2vp/Fk0hW4iEyqKpbQWCHJF9iIDehYX6ZqsX8KNYZ1mB2mmyF1gRU7Wedny+o7gaR5c1hkY5qkhB8VMQiS9Rv06KqXyWyen4MvF6WURKxA9pkQ7N5VZqxrn4Kg+4+nqJo0yolgz6TIR0oQPjyZWvLDvK6yUFKcwpVCYd8waE8CRZvZBkWWfXDwB5StuHT3u/3UKuWRHvxcWjaPATzILqgrwDX2Vq7nwustGjGDjAmKJF9cxvk3jLis39c88UfYcSabvysdAZhF6/PuhKhrFIWXwqC4G1IEI6OkJyViSYN0oi1GIbPhk9GT//f1LUD64h7wowEFNAPkbVes1VQFbh0cZQulWCzQ== 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: slub is only concerned when a numa node changes its memory state, so stop using the memory notifier and use the new numa node notifer instead. Signed-off-by: Oscar Salvador Reviewed-by: Jonathan Cameron Reviewed-by: Harry Yoo Reviewed-by: Vlastimil Babka Acked-by: David Hildenbrand --- mm/slub.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index f92b43d36adc..3ff0b94f3eeb 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -6146,7 +6146,7 @@ int __kmem_cache_shrink(struct kmem_cache *s) return __kmem_cache_do_shrink(s); } -static int slab_mem_going_offline_callback(void *arg) +static int slab_mem_going_offline_callback(void) { struct kmem_cache *s; @@ -6160,21 +6160,12 @@ static int slab_mem_going_offline_callback(void *arg) return 0; } -static int slab_mem_going_online_callback(void *arg) +static int slab_mem_going_online_callback(int nid) { struct kmem_cache_node *n; struct kmem_cache *s; - struct memory_notify *marg = arg; - int nid = marg->status_change_nid; int ret = 0; - /* - * If the node's memory is already available, then kmem_cache_node is - * already created. Nothing to do. - */ - if (nid < 0) - return 0; - /* * We are bringing a node online. No memory is available yet. We must * allocate a kmem_cache_node structure in order to bring the node @@ -6214,17 +6205,16 @@ static int slab_mem_going_online_callback(void *arg) static int slab_memory_callback(struct notifier_block *self, unsigned long action, void *arg) { + struct node_notify *nn = arg; + int nid = nn->nid; int ret = 0; switch (action) { - case MEM_GOING_ONLINE: - ret = slab_mem_going_online_callback(arg); - break; - case MEM_GOING_OFFLINE: - ret = slab_mem_going_offline_callback(arg); + case NODE_ADDING_FIRST_MEMORY: + ret = slab_mem_going_online_callback(nid); break; - case MEM_ONLINE: - case MEM_CANCEL_OFFLINE: + case NODE_REMOVING_LAST_MEMORY: + ret = slab_mem_going_offline_callback(); break; } if (ret) @@ -6300,7 +6290,7 @@ void __init kmem_cache_init(void) sizeof(struct kmem_cache_node), SLAB_HWCACHE_ALIGN | SLAB_NO_OBJ_EXT, 0, 0); - hotplug_memory_notifier(slab_memory_callback, SLAB_CALLBACK_PRI); + hotplug_node_notifier(slab_memory_callback, SLAB_CALLBACK_PRI); /* Able to allocate the per node structures */ slab_state = PARTIAL; -- 2.49.0