Messages in this thread Patch in this message | | | Subject | [PATCH v3 4/5] mm: add numa node symlink for cpu devices in sysfs | From | Alex Chiang <> | Date | Tue, 10 Nov 2009 15:36:59 -0700 |
| |
You can discover which CPUs belong to a NUMA node by examining /sys/devices/system/node/node#/
However, it's not convenient to go in the other direction, when looking at /sys/devices/system/cpu/cpu#/
Yes, you can muck about in sysfs, but adding these symlinks makes life a lot more convenient.
Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Alex Chiang <achiang@hp.com> ---
drivers/base/node.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/drivers/base/node.c b/drivers/base/node.c index ffda067..24fa962 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -227,6 +227,7 @@ struct node node_devices[MAX_NUMNODES]; */ int register_cpu_under_node(unsigned int cpu, unsigned int nid) { + int ret; struct sys_device *obj; if (!node_online(nid)) @@ -236,9 +237,15 @@ int register_cpu_under_node(unsigned int cpu, unsigned int nid) if (!obj) return 0; - return sysfs_create_link(&node_devices[nid].sysdev.kobj, + ret = sysfs_create_link(&node_devices[nid].sysdev.kobj, &obj->kobj, kobject_name(&obj->kobj)); + if (ret) + return ret; + + return sysfs_create_link(&obj->kobj, + &node_devices[nid].sysdev.kobj, + kobject_name(&node_devices[nid].sysdev.kobj)); } int unregister_cpu_under_node(unsigned int cpu, unsigned int nid) @@ -254,6 +261,8 @@ int unregister_cpu_under_node(unsigned int cpu, unsigned int nid) sysfs_remove_link(&node_devices[nid].sysdev.kobj, kobject_name(&obj->kobj)); + sysfs_remove_link(&obj->kobj, + kobject_name(&node_devices[nid].sysdev.kobj)); return 0; }
| |