From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEE6A3242BA for ; Fri, 3 Jul 2026 04:14:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783052054; cv=none; b=tjk0/kuvW2c1f/dABOWIAAxG+usw9kNccvjX406835cF3RxJooLX2A6fF4xQNQ3gkUwp3tB2mvjUJexYQtDnBhXjSGeWv4wk810ircW9RqnO0zxYpNhsilAb9cADeXVS+GFlt68wPt0VIWF4HPMy9n9NxMzEudcJZJB4oYLaE4s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783052054; c=relaxed/simple; bh=FA1hrzQxVu1ThSkG5+82C+ZuyT34c7vIJJTQ0TnBLBE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=De9uGyB+R098W36xfWMNxsj06QAy7JZuwzjtlmKJo8qVBX7rvXst0dLzNDx/DMR3SYZ0y3xY9Za6Tk4Bhjun9Iz12v/rVgBLDyowdHdBB7iipXaiiy32OsJ03o8AmwaIEzHoNN0Eif3JP4WW4fl2Kzq80I9fplpnnquQsevcUPY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LoUrlKn3; arc=none smtp.client-ip=209.85.210.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LoUrlKn3" Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-8479f1a86ecso69222b3a.1 for ; Thu, 02 Jul 2026 21:14:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783052039; x=1783656839; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sIaBpk+cC3a2unYJH6KOjVsgZL7HXEgoxVhGp5CcYCQ=; b=LoUrlKn3lIUvT/sIZ6XtjJEy+8fjhSsBz6eKAFlalHAz4viEUrnBeIBGzIyvhYToXZ hASBOCQ1gq3A9bQvpvRMyBPvNd8XbCoGoBIQyf3ujYZiO3cTRJHpwmMPIuYviYUysO7y UqXMhche/sZQ6K0fqavADJ1WGnbofi4MuoO46bFNRVEZJOrdHQRj8TAXBYcPYjEMpSlk Dsbtpc83Msy8O/Evi8UWgOOIxw3zIVCdjnM5S04jLXSfOS9WlTcViaZsaE6qWTapsgN2 iv/Z27rmbr8uxY8WdD+KfPGSZRGT0qIDdW5Hzi9jJUORCP7++2eXMUA+IQ4G5U2+NaT9 xfVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783052039; x=1783656839; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=sIaBpk+cC3a2unYJH6KOjVsgZL7HXEgoxVhGp5CcYCQ=; b=LEsDRE8iTJdmQkOxdWMpaMuzYbZbzY5ptxo4QPT9f3PJC2S73jW6VZtPB1I0BypnbZ //kF/2Xda4rWbt0mMKTi8xD1zxWRFsFXA65sbNFTMi5VLukZtE7gOFjsbhnzGX0jMXee eRHKDFzFgIpeIVZLeg8Y8G3Nxz69bv9o9YxSk0qkLaJYgcFaJWX6ACFw+AOn8A/aymcI S4/87fmgZQCoV5SfzXUprUzlQ4UTOfXU3obcuFJm/+xj/FU+D7MORqcMsDz8RqwvqUYB OjChqr321W6OL8fTaGsMCeT1wWU08jif4lKjM5s5UwBJF3th/4vF77sgkNmDq2XjjsOB Q45w== X-Forwarded-Encrypted: i=1; AHgh+Rqns8D6YQgVTRqxN9npqlZrMLfwGZ/MDOhCxPT3S7ZqnHMwdA26H+7YdkTFxKRyfvXHL9qWqumdgOIY+UE=@vger.kernel.org X-Gm-Message-State: AOJu0Yy18VhEvZmtP9+UYnVYtx1S888Lck0QD6Fz1oy08e8xedWWhvs2 7IPi4Dde2jrYjX49ojh+8X9BxbHsgQS90ZwB5EN45gxDDGHIdCDogfrU X-Gm-Gg: AfdE7cmKyE0+KM6RWyGejYZ4sUXTuMizhwqDrFZlPcknih/mvSRFh/6BYZJn6pDq3z8 NclwWYj/fE9J7wmmUdS29icneKzUdQ9L51Ozc+SSP/MbJ81ec+nyxo3E9sKtZvFTjzBlLqwWiGl Mrz15y03Zxu+6vd+3vHYHVi0XX2F7fwEgNM2l7/LTY1eM9E2K2MP7AAnZUgHst51yk9rRBG5+8W GYQpYGHsabkGNyhQ2ks7scrV2ZzPOgurTmZwOao/XGdZKqUoC88+UXXfX7EKIS6DbHWRyU4V6Ix eRmeRnaYncIcqjb2LXhoZpikdvV7XCGC6BZrdVceaTFQgxZ31pNN5Qe36BLndOH9H23ytP3yP1y oqv1qmP8gMWFZ3LHudIlNMfwTYzdZDSI/2PU3aZWSL17ztQAerPOXl04HQ7CR4Zuk0WEVicbSPM ytQviwqVg= X-Received: by 2002:a05:6a00:1745:b0:842:5711:9a2f with SMTP id d2e1a72fcca58-847c514001fmr7765902b3a.36.1783052038847; Thu, 02 Jul 2026 21:13:58 -0700 (PDT) Received: from ubuntu.. ([110.9.142.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-847cb94bd7esm2207768b3a.38.2026.07.02.21.13.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Jul 2026 21:13:58 -0700 (PDT) From: Sang-Heon Jeon To: rppt@kernel.org, akpm@linux-foundation.org Cc: linux-mm@kvack.org, Sang-Heon Jeon , Andy Lutomirski , Borislav Petkov , Danilo Krummrich , Dave Hansen , Greg Kroah-Hartman , Huacai Chen , Ingo Molnar , linux-kernel@vger.kernel.org, Peter Zijlstra , "Rafael J. Wysocki" , Rob Herring , Saravana Kannan , Thomas Gleixner Subject: [PATCH v2 1/9] mm: numa_memblks: set numa_nodes_parsed in numa_add_memblk() Date: Fri, 3 Jul 2026 13:13:21 +0900 Message-ID: <20260703041329.2797584-2-ekffu200098@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260703041329.2797584-1-ekffu200098@gmail.com> References: <20260703041329.2797584-1-ekffu200098@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Every existing numa_add_memblk() caller separately marks the new node in numa_nodes_parsed with node_set(). Set the node in numa_add_memblk() itself on a successful add, so this no longer depends on each caller. numa_add_memblk_to() now returns -EINVAL for an out-of-range node id, so a zero return implies @nid was valid. No caller passes an invalid one, so existing callers are unaffected. The per-caller node_set() calls are removed in later patches. No functional change. Signed-off-by: Sang-Heon Jeon --- mm/numa_memblks.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/mm/numa_memblks.c b/mm/numa_memblks.c index 3c3c4eac3514..9815192549c3 100644 --- a/mm/numa_memblks.c +++ b/mm/numa_memblks.c @@ -135,13 +135,20 @@ EXPORT_SYMBOL(__node_distance); static int __init numa_add_memblk_to(int nid, u64 start, u64 end, struct numa_meminfo *mi) { + /* whine about and ignore invalid nid */ + if (nid < 0 || nid >= MAX_NUMNODES) { + pr_warn("Warning: invalid memblk node id %d [mem %#010Lx-%#010Lx]\n", + nid, start, end - 1); + return -EINVAL; + } + /* ignore zero length blks */ if (start == end) return 0; /* whine about and ignore invalid blks */ - if (start > end || nid < 0 || nid >= MAX_NUMNODES) { - pr_warn("Warning: invalid memblk node %d [mem %#010Lx-%#010Lx]\n", + if (start > end) { + pr_warn("Warning: invalid memblk node size %d [mem %#010Lx-%#010Lx]\n", nid, start, end - 1); return 0; } @@ -193,13 +200,20 @@ static void __init numa_move_tail_memblk(struct numa_meminfo *dst, int idx, * @end: End address of the new memblk * * Add a new memblk to the default numa_meminfo. + * On success @nid is also set in numa_nodes_parsed. * * RETURNS: * 0 on success, -errno on failure. */ int __init numa_add_memblk(int nid, u64 start, u64 end) { - return numa_add_memblk_to(nid, start, end, &numa_meminfo); + int ret; + + ret = numa_add_memblk_to(nid, start, end, &numa_meminfo); + if (!ret) + node_set(nid, numa_nodes_parsed); + + return ret; } /** -- 2.43.0