mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 01:11:51 -04:00
mm: numa_memblks: set numa_nodes_parsed in numa_add_memblk()
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 <ekffu200098@gmail.com> Link: https://patch.msgid.link/20260703041329.2797584-2-ekffu200098@gmail.com Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
This commit is contained in:
committed by
Mike Rapoport (Microsoft)
parent
dc59e4fea9
commit
abdbd83292
@@ -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",
|
||||
/* whine about and ignore invalid ranges */
|
||||
if (start > end) {
|
||||
pr_warn("Warning: invalid memblk range for node %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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user