Commit cf0b61ad authored by Oscar Salvador's avatar Oscar Salvador Committed by Andrew Morton
Browse files

mm,mempolicy: use node-notifier instead of memory-notifier

mempolicy is only concerned when a numa node changes its memory state,
because it needs to take this node into account for the auto-weighted
memory policy system.  So stop using the memory notifier and use the new
numa node notifer instead.

Link: https://lkml.kernel.org/r/20250616135158.450136-10-osalvador@suse.de


Signed-off-by: default avatarOscar Salvador <osalvador@suse.de>
Reviewed-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: default avatarHarry Yoo <harry.yoo@oracle.com>
Reviewed-by: default avatarVlastimil Babka <vbabka@suse.cz>
Reviewed-by: default avatarRakie Kim <rakie.kim@sk.com>
Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
Reviewed-by: default avatarGregory Price <gourry@gourry.net>
Cc: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 8e1bf051
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -3788,20 +3788,17 @@ static int wi_node_notifier(struct notifier_block *nb,
			       unsigned long action, void *data)
{
	int err;
	struct memory_notify *arg = data;
	int nid = arg->status_change_nid;

	if (nid < 0)
		return NOTIFY_OK;
	struct node_notify *nn = data;
	int nid = nn->nid;

	switch (action) {
	case MEM_ONLINE:
	case NODE_ADDED_FIRST_MEMORY:
		err = sysfs_wi_node_add(nid);
		if (err)
			pr_err("failed to add sysfs for node%d during hotplug: %d\n",
			       nid, err);
		break;
	case MEM_OFFLINE:
	case NODE_REMOVED_LAST_MEMORY:
		sysfs_wi_node_delete(nid);
		break;
	}
@@ -3840,7 +3837,7 @@ static int __init add_weighted_interleave_group(struct kobject *mempolicy_kobj)
		}
	}

	hotplug_memory_notifier(wi_node_notifier, DEFAULT_CALLBACK_PRI);
	hotplug_node_notifier(wi_node_notifier, DEFAULT_CALLBACK_PRI);
	return 0;

err_cleanup_kobj: