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 3585AC28B20 for ; Wed, 2 Apr 2025 16:06:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 74712280006; Wed, 2 Apr 2025 12:06:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F5F6280001; Wed, 2 Apr 2025 12:06:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5BDB8280006; Wed, 2 Apr 2025 12:06:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3EB03280001 for ; Wed, 2 Apr 2025 12:06:54 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 298D3161CC3 for ; Wed, 2 Apr 2025 16:06:56 +0000 (UTC) X-FDA: 83289582432.13.A652E3A Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf17.hostedemail.com (Postfix) with ESMTP id 00CC04000B for ; Wed, 2 Apr 2025 16:06:53 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ihK1lgdN; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=VQmEhNFu; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ihK1lgdN; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=VQmEhNFu; spf=pass (imf17.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 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=1743610014; 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=FTmL57kmDGPHrWxHn7Y0/jU2ldGmqDN2KOEd87ly/+g=; b=WlWLGuzp6s3xbtk44/1EMlSHmDyC2KZArBUypKS2owxnM3w09gMq0JNdj2s16B/BT/ofs+ B34H7xF3XatOM7Om7cg5/2fMuLV7e39UEG2BTXrING0ud2hBUWAKBsMZjdtXtxccXScnmB q7x0MXCmG4zFf9x7SVUdXdyeTyjeGno= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ihK1lgdN; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=VQmEhNFu; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=ihK1lgdN; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=VQmEhNFu; spf=pass (imf17.hostedemail.com: domain of vbabka@suse.cz designates 195.135.223.131 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743610014; a=rsa-sha256; cv=none; b=xm3JnPisDpmO15mRFbvyEXPUjHE445L9CoRiHTEo9+q394NgjLsvTBKmuUvpcrsWskSKux GXgxZSNiZYaTt1qhAX9laxt2Up/JJfTow7lTKBrj+qPFejYTrZmIOGoCrBQZr0Rq5R44F5 Y0ktGfCF4Y1ZG/7FQVvTIjaan67OJwk= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104: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 5FDF31F38A; Wed, 2 Apr 2025 16:06:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1743610012; 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=FTmL57kmDGPHrWxHn7Y0/jU2ldGmqDN2KOEd87ly/+g=; b=ihK1lgdNSbaGAsdx8eEofyZ/wkCP7m00DqHtDaDYKzD2vUjlU9Cjz8N0q73p5QcfolaLbm dbsWPbgp6NO/Tw4KBK44eBVN5ZeQcIR29vDCcUJn8ufacd0nmg+MsZyz731OZk65VQTJJH SOzsTEYwh4yD24I/ghCc6lbBUM19AJA= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1743610012; 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=FTmL57kmDGPHrWxHn7Y0/jU2ldGmqDN2KOEd87ly/+g=; b=VQmEhNFuBb5K/rReOBQWMPr0g0W2jC6Hg6tDAAWrixHxeaCiUNs7xqICESoUyygxvT1cdd /hJz3VWK7wBRB3Cg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1743610012; 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=FTmL57kmDGPHrWxHn7Y0/jU2ldGmqDN2KOEd87ly/+g=; b=ihK1lgdNSbaGAsdx8eEofyZ/wkCP7m00DqHtDaDYKzD2vUjlU9Cjz8N0q73p5QcfolaLbm dbsWPbgp6NO/Tw4KBK44eBVN5ZeQcIR29vDCcUJn8ufacd0nmg+MsZyz731OZk65VQTJJH SOzsTEYwh4yD24I/ghCc6lbBUM19AJA= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1743610012; 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=FTmL57kmDGPHrWxHn7Y0/jU2ldGmqDN2KOEd87ly/+g=; b=VQmEhNFuBb5K/rReOBQWMPr0g0W2jC6Hg6tDAAWrixHxeaCiUNs7xqICESoUyygxvT1cdd /hJz3VWK7wBRB3Cg== 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 48F2A13A4B; Wed, 2 Apr 2025 16:06:52 +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 eX99EZxg7Wf9TQAAD6G6ig (envelope-from ); Wed, 02 Apr 2025 16:06:52 +0000 Message-ID: <78c976ba-1eaf-47b7-a310-b8a99a3882e2@suse.cz> Date: Wed, 2 Apr 2025 18:06:51 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 0/2] Implement numa node notifier Content-Language: en-US To: Oscar Salvador , Andrew Morton Cc: David Hildenbrand , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Hyeonggon Yoo <42.hyeyoo@gmail.com>, mkoutny@suse.com, Dan Williams , Jonathan Cameron References: <20250401092716.537512-1-osalvador@suse.de> From: Vlastimil Babka In-Reply-To: <20250401092716.537512-1-osalvador@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Action: no action X-Rspamd-Queue-Id: 00CC04000B X-Rspamd-Server: rspam05 X-Rspam-User: X-Stat-Signature: zchhm63kbpr5kx3qr3zwb95qyt3j7g1m X-HE-Tag: 1743610013-407121 X-HE-Meta: U2FsdGVkX1/BW4ZdiEVoIEpXKujWnncv7rK4B9FsMAEl8Kq5y+4F63sbbiSHqnCIfR25EgYmGyo9ZnOBwyw+yZmxOeddEyYgiNlJsLzGLO9V5PtR2FmRRO2rHjurKIJOk3sRQT4EovV1VG3EJ8jNWM0phLmNXskQqyTNDei7RkD2Kp9DQnzQcLzbS0XLzc8zeHsMnYL+iwyq4pc/L4HVHIoHkX/zSsdSlvLWUX4LAGp4TInp0tGtsFbCbWx3XISge+wUZpVBSjbW/V0vedxp/tx4Tomw5taA/F2gdCPTW/ZYmbIhUJiSj0kUUSDRPIzeb4BCx0XBng//8IZRmDWoSxE6cnGC2MxJXsnoyyHD06Hhhpq3oSqTgduyeFQb3ocoLwX+0It9oG1P/FY4PzfL4hsEO1pnLxY8ikn79+ZWXNosKPFRKB/8qjapCByv5nu6XvErLYYgzwVhS1XUYP4IRK+tzdH8hOlKIpfxWajjfW1MSFlI5PDXN+XALH58992lAPrPjsjOqpdjLZV36J2paCs3CPqxDqJn/7/Twokk1L1CR23JzWBL8VuNzseHmOdNInCxif67aiD/jlD95AF+1JR2HtnD9O1/VPBgy22D1tmGzU6ViHDHl795jhZK9eaDZk2prgUOMTHkfxLrUdzARM8koXPBWsyjpnh5UmE83ItoEZYSrpF+vZQ1NxHPLQnzKPRQ0xxWY2aq9wOfd4eryDZA/pyTgtJRd0ivRDDPJh8ncYyjtUiVCJRnrHsGq1gyHIEWIHoSDI50iIqb22MGXOjmdBfypYybeYhyJwpRjTC7vk9QMRuIFBFstPDTdfz0U5w5dgXmokBwH/thqjk2ycMhs0JloybKyE9x35M2CclK3PSMcmst4JwqGNkHSavIiEl6VHcw1dlBkpUPC5Bf4y9A2B9sLPTWdI5QB+0ECZFG6rb8e9uVizTkDT7MRPGV/u74dYEawYft3jqLDJ+ Mb8/N9lx U/1WUXndhJSo/5tSDdrI28zgj4AxmuAu8SUyu 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: On 4/1/25 11:27, Oscar Salvador wrote: > Memory notifier is a tool that allow consumers to get notified whenever > memory gets onlined or offlined in the system. > Currently, there are 10 consumers of that, but 5 out of those 10 consumers > are only interested in getting notifications when a numa node has changed its > state. > That means going from memoryless to memory-aware of vice versa. > > Which means that for every {online,offline}_pages operation they get > notified even though the numa node might not have changed its state. > > The first patch implements a numa node notifier that does just that, and have > those consumers register in there, so they get notified only when they are > interested. What if we had two chains: register_node_notifier() register_node_normal_notifier() I think they could have shared the state #defines and struct node_notify would have just one nid and be always >= 0. Or would it add too much extra boilerplate and only slab cares? > The second patch replaces 'status_change_normal{_normal}' fields within > memory_notify with a 'nid', as that is only what we need for memory > notifer and update the only user of it (page_ext). > > Consumers that are only interested in numa node states change are: > > - memory-tier > - slub > - cpuset > - hmat > - cxl > > > Oscar Salvador (2): > mm,memory_hotplug: Implement numa node notifier > mm,memory_hotplug: Replace status_change_nid parameter in > memory_notify > > drivers/acpi/numa/hmat.c | 6 +-- > drivers/base/node.c | 19 +++++++++ > drivers/cxl/core/region.c | 14 +++---- > drivers/cxl/cxl.h | 4 +- > include/linux/memory.h | 37 ++++++++++++++++++ > kernel/cgroup/cpuset.c | 2 +- > mm/memory-tiers.c | 8 ++-- > mm/memory_hotplug.c | 82 +++++++++++++++++++++++++++++---------- > mm/page_ext.c | 12 +----- > mm/slub.c | 22 +++++------ > 10 files changed, 146 insertions(+), 60 deletions(-) >