lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 20 Oct 2009 20:55:58 +0900 (JST) From: "KAMEZAWA Hiroyuki" <kamezawa.hiroyu@...fujitsu.com> To: "Alex Chiang" <achiang@...com> Cc: akpm@...ux-foundation.org, linux-mm@...ck.org, "Ingo Molnar" <mingo@...e.hu>, "Gary Hade" <garyhade@...ibm.com>, "Badari Pulavarty" <pbadari@...ibm.com>, linux-kernel@...r.kernel.org Subject: Re: [PATCH 1/5] mm: add numa node symlink for memory section in sysfs Alex Chiang wrote: > Commit c04fc586c (mm: show node to memory section relationship with > symlinks in sysfs) created symlinks from nodes to memory sections, e.g. > > /sys/devices/system/node/node1/memory135 -> ../../memory/memory135 > > If you're examining the memory section though and are wondering what > node it might belong to, you can find it by grovelling around in > sysfs, but it's a little cumbersome. > > Add a reverse symlink for each memory section that points back to the > node to which it belongs. > > Cc: Gary Hade <garyhade@...ibm.com> > Cc: Badari Pulavarty <pbadari@...ibm.com> > Cc: Ingo Molnar <mingo@...e.hu> > Signed-off-by: Alex Chiang <achiang@...com> 2 yeas ago, I wanted to add this symlink. But don't...because some vendor's host has no 1-to-1 relationship between a memsection and a node. (I don't remember precisely, sorry....s390?) Then, a memsection can be under prural nodes. At brief look, this patch provides 1-to-1 relationship between them. If it's ok for all stake-holders, I welcome this. Thanks, -Kame > --- > > Documentation/ABI/testing/sysfs-devices-memory | 14 +++++++++++++- > Documentation/memory-hotplug.txt | 11 +++++++---- > drivers/base/node.c | 11 ++++++++++- > 3 files changed, 30 insertions(+), 6 deletions(-) > > diff --git a/Documentation/ABI/testing/sysfs-devices-memory > b/Documentation/ABI/testing/sysfs-devices-memory > index 9fe91c0..bf1627b 100644 > --- a/Documentation/ABI/testing/sysfs-devices-memory > +++ b/Documentation/ABI/testing/sysfs-devices-memory > @@ -60,6 +60,19 @@ Description: > Users: hotplug memory remove tools > https://w3.opensource.ibm.com/projects/powerpc-utils/ > > + > +What: /sys/devices/system/memoryX/nodeY > +Date: October 2009 > +Contact: Linux Memory Management list <linux-mm@...ck.org> > +Description: > + When CONFIG_NUMA is enabled, a symbolic link that > + points to the corresponding NUMA node directory. > + > + For example, the following symbolic link is created for > + memory section 9 on node0: > + /sys/devices/system/memory/memory9/node0 -> ../../node/node0 > + > + > What: /sys/devices/system/node/nodeX/memoryY > Date: September 2008 > Contact: Gary Hade <garyhade@...ibm.com> > @@ -70,4 +83,3 @@ Description: > memory section directory. For example, the following symbolic > link is created for memory section 9 on node0. > /sys/devices/system/node/node0/memory9 -> ../../memory/memory9 > - > diff --git a/Documentation/memory-hotplug.txt > b/Documentation/memory-hotplug.txt > index bbc8a6a..57e7e9c 100644 > --- a/Documentation/memory-hotplug.txt > +++ b/Documentation/memory-hotplug.txt > @@ -160,12 +160,15 @@ Under each section, you can see 4 files. > NOTE: > These directories/files appear after physical memory hotplug phase. > > -If CONFIG_NUMA is enabled the > -/sys/devices/system/memory/memoryXXX memory section > -directories can also be accessed via symbolic links located in > -the /sys/devices/system/node/node* directories. For example: > +If CONFIG_NUMA is enabled the memoryXXX/ directories can also be accessed > +via symbolic links located in the /sys/devices/system/node/node* > directories. > + > +For example: > /sys/devices/system/node/node0/memory9 -> ../../memory/memory9 > > +A backlink will also be created: > +/sys/devices/system/memory/memory9/node0 -> ../../node/node0 > + > -------------------------------- > 4. Physical memory hot-add phase > -------------------------------- > diff --git a/drivers/base/node.c b/drivers/base/node.c > index 1fe5536..3108b21 100644 > --- a/drivers/base/node.c > +++ b/drivers/base/node.c > @@ -268,6 +268,7 @@ static int get_nid_for_pfn(unsigned long pfn) > /* register memory section under specified node if it spans that node */ > int register_mem_sect_under_node(struct memory_block *mem_blk, int nid) > { > + int ret; > unsigned long pfn, sect_start_pfn, sect_end_pfn; > > if (!mem_blk) > @@ -284,9 +285,15 @@ int register_mem_sect_under_node(struct memory_block > *mem_blk, int nid) > continue; > if (page_nid != nid) > continue; > - return sysfs_create_link_nowarn(&node_devices[nid].sysdev.kobj, > + ret = sysfs_create_link_nowarn(&node_devices[nid].sysdev.kobj, > &mem_blk->sysdev.kobj, > kobject_name(&mem_blk->sysdev.kobj)); > + if (ret) > + return ret; > + > + return sysfs_create_link_nowarn(&mem_blk->sysdev.kobj, > + &node_devices[nid].sysdev.kobj, > + kobject_name(&node_devices[nid].sysdev.kobj)); > } > /* mem section does not span the specified node */ > return 0; > @@ -315,6 +322,8 @@ int unregister_mem_sect_under_nodes(struct > memory_block *mem_blk) > continue; > sysfs_remove_link(&node_devices[nid].sysdev.kobj, > kobject_name(&mem_blk->sysdev.kobj)); > + sysfs_remove_link(&mem_blk->sysdev.kobj, > + kobject_name(&node_devices[nid].sysdev.kobj)); > } > return 0; > } > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@...r.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists