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 3066DC71136 for ; Mon, 16 Jun 2025 13:52:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0710F8D0001; Mon, 16 Jun 2025 09:52:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 022198D0005; 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 E523E8D0001; Mon, 16 Jun 2025 09:52:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id D1B368D0005 for ; Mon, 16 Jun 2025 09:52:37 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 93CC41D350E for ; Mon, 16 Jun 2025 13:52:37 +0000 (UTC) X-FDA: 83561403954.12.8D52B69 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf18.hostedemail.com (Postfix) with ESMTP id 853601C0005 for ; Mon, 16 Jun 2025 13:52:35 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=Puinu84S; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b="/qjERsN/"; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=NIsw3b2K; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=jc9ioTjv; spf=pass (imf18.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 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=GQkEClDP0wrzDDOsHwrNIl3nI8G2kqil/mCtolIEaQ0=; b=AnAOIzFDWBi7Fu7M14IGL+pyLCIRhXQoCVyA4k9GoBkbOREssxGAsm3/RvgjzQbbFJHHb5 QaP8VcKkokHOJ5cFkE6p+9NjdsVTok9IOD3FCRgRUKlcugIfMulfkRvM1W2azplubg1oHT NhOnUEdfejjpaTwG/9aPNmU7tssB4/I= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=Puinu84S; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b="/qjERsN/"; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=NIsw3b2K; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=jc9ioTjv; spf=pass (imf18.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 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=Il2CawN7s87C72kqP1iRM1LFKWfZZEr44NThYO9m27/0ajubDYB7T5bN54D+4GrpRYSyaH sxebhRYAGerUygZ2WuKUHM5jnfNhwIATwm06Q3EgZBgxJopMMgrNXz0R0fwmXOpkoZJdt/ JJ9ph/5DIX6kPMAFcdvddPCV/ZXLvvA= 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-out1.suse.de (Postfix) with ESMTPS id 47D06211F2; Mon, 16 Jun 2025 13:52:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1750081943; 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=GQkEClDP0wrzDDOsHwrNIl3nI8G2kqil/mCtolIEaQ0=; b=Puinu84S/THIZbGL7+grRK744YM9p6O4ydy1pE0hF2kEXSD7j3mcy9ooHSkaoYcN8mLVZN 80lkpZ6U3l1HzZR7B8eL5RGzxXGbbFl8BK23etYsEYUspcX1PpGm2z0GekHyR5XDNY8dtC ipuOMn8LuEX8AAcvNxWNAQo+yeadd80= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1750081943; 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=GQkEClDP0wrzDDOsHwrNIl3nI8G2kqil/mCtolIEaQ0=; b=/qjERsN/mZ0gWixnZ83sE71OKrJ7AZtgl2SZbwGgbt8mWavPABsx3fJ0iwSmSxF2XT83aH hKqBT+j5mEA5heAg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1750081942; 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=GQkEClDP0wrzDDOsHwrNIl3nI8G2kqil/mCtolIEaQ0=; b=NIsw3b2KjfLPUUkgQidAn5l/vz39+xC2PHf2jP4fMjRzJ8uzljqfaGZnyQOaVbjGed5JVn rgW/oqB2lAZrVFvZDyWlweFtNNMy6yPmUQmKqHSx68cCNhfaboR7XXtQhyokCYA7GYSgeZ eJvdfswxczmqPXjv/dpVmdguFpLms24= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1750081942; 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=GQkEClDP0wrzDDOsHwrNIl3nI8G2kqil/mCtolIEaQ0=; b=jc9ioTjvdemVgFrh1TRaIapA4LQI50s9MqUVY9CogW5h5ScxvWRBl8ZTP1G49bCuq5ufW+ o6ZP7h9Goa9gQCAw== 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 A1F5D13AEF; Mon, 16 Jun 2025 13:52:16 +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 oB3wJJAhUGhHLwAAD6G6ig (envelope-from ); Mon, 16 Jun 2025 13:52:16 +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 10/11] mm,page_ext: Derive the node from the pfn Date: Mon, 16 Jun 2025 15:51:53 +0200 Message-ID: <20250616135158.450136-11-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: 853601C0005 X-Stat-Signature: qwuezdu1fmg6huf17q894urhj8obds3u X-Rspam-User: X-HE-Tag: 1750081955-472855 X-HE-Meta: U2FsdGVkX1+SCGG5eNMAWKk9gghwdERUve2lai0d8HA3wTAYUOYeyXa/rL3z6c0iAAPnf1pU1yJHm1vKsry5ZCuRqqpwQBjyN37xCK1o9LTETUca222EG0O30AQR2IaXnsG8u9uW/Y0JCwELiWq7ej3SVTnUzoXusHfc8LJWwH0M9cGfKVkDPWmjGmml6uYAnLG6Q5PHPa/bztolyaRnTKpHvnmj7boWHYVwcCyzM7hK6ICMHVRGp0LM34Mg+351IG8zaFvl8jvUkNwrDVLWz/gXksdaujuTbDW4uumP/zzqmfCTjL0LBNzIGIxCqfQCN/VlfCdoNyd4X8a2FmaFWaPAX2uc5fDIH3PCnyIDHQimIe88xakFX8vV6NA4cA486gJdNOrqbC7OIAtFYkQyoymj12CLQ5JI+dP32N5IShJ1+0QC32ubs5qNi3yyEvMwOUV9Q9zKlpZw3VuFwMvNzoPZ83Fs932MeVSQmjc5MpfzvPIGBBFgvR5nQoNlVCAe2V5SOrmNY7DeU2EY6CGh1yWLSNRdixFVkS5LM/u37Cd9Tyd+rN92ewrATlu3fl852AKFJ/X9j9HUnPAtt+cYXvedtxmi0magaPPrbvDesRJy7h35kGWX/brNu4ZDLNEIYL0FzkgZODsrxyvgUYhxHY7PKk8QtE7iquTY7hWtSBCFFV+myOrvACmCARz0CCRwqPw8F/vI3PANSg4Ood+9OeyG/IzUkRbDFXbogNB1Qa9YfFHPLgrw+n3jF4KomQ+IuplCwqTJP+OfjAco2+DkmcdQ3seKRJkiIVA5F7kbdJHdRFZhPZzToTLw8ZK2ffaA1qDwlAO9j4FqnNZ1kc9PsPNlxU4uIPgAEZD+kf0AuIP3FgOGk7BGUF6p2pAYIRmHd0Dta9VwZB3qA/YQY8ZcShbniGJpyG6ysSG/IsB2torLxx3CAzbvaCrolg5tsBAm75Qqil/0jhIVWa4Yq66 CNNuZCW2 Ek8wyc71ntQodhuLxFnGPANbGyNQmjgSeFWXI5Lty59KdxkZwx4GCFe0y4Pl5kcKTf3NLIiDNWH3OEBgmTqSHMkjm4yf1CiqQj5Yo8nc/TQEWtyE= 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: page_ext is the only user of 'status_change_nid', which is set in online/offline operations, to know to which node we are adding/removing memory. Prior to call any notifiers, the memmap is initialized via, which among other things, sets the node the pages belong to, to all corresponging pages. This means that there is no need to keep using 'status_change_nid' since we can derive the node from the pfn. This will allow us to finally drop 'status_change_nid' from the memory_notify struct. Suggested-by: David Hildenbrand Signed-off-by: Oscar Salvador Reviewed-by: Harry Yoo Reviewed-by: Vlastimil Babka Acked-by: David Hildenbrand --- mm/page_ext.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/mm/page_ext.c b/mm/page_ext.c index c351fdfe9e9a..d7396a8970e5 100644 --- a/mm/page_ext.c +++ b/mm/page_ext.c @@ -369,25 +369,15 @@ static void __invalidate_page_ext(unsigned long pfn) } static int __meminit online_page_ext(unsigned long start_pfn, - unsigned long nr_pages, - int nid) + unsigned long nr_pages) { + int nid = pfn_to_nid(start_pfn); unsigned long start, end, pfn; int fail = 0; start = SECTION_ALIGN_DOWN(start_pfn); end = SECTION_ALIGN_UP(start_pfn + nr_pages); - if (nid == NUMA_NO_NODE) { - /* - * In this case, "nid" already exists and contains valid memory. - * "start_pfn" passed to us is a pfn which is an arg for - * online__pages(), and start_pfn should exist. - */ - nid = pfn_to_nid(start_pfn); - VM_BUG_ON(!node_online(nid)); - } - for (pfn = start; !fail && pfn < end; pfn += PAGES_PER_SECTION) fail = init_section_page_ext(pfn, nid); if (!fail) @@ -435,8 +425,7 @@ static int __meminit page_ext_callback(struct notifier_block *self, switch (action) { case MEM_GOING_ONLINE: - ret = online_page_ext(mn->start_pfn, - mn->nr_pages, mn->status_change_nid); + ret = online_page_ext(mn->start_pfn, mn->nr_pages); break; case MEM_OFFLINE: offline_page_ext(mn->start_pfn, -- 2.49.0