From: KAMEZAWA Hiroyuki on
On Thu, 15 Jul 2010 13:40:40 -0500
Nathan Fontenot <nfont(a)austin.ibm.com> wrote:

> Update the node sysfs directory routines that create
> links to the memory sysfs directories under each node.
> This update makes the node code aware that a memory sysfs
> directory can cover multiple memory sections.
>
> Signed-off-by: Nathan Fontenot <nfont(a)austin.ibm.com>

Shouldn't "static int link_mem_sections(int nid)" be update ?
It does
for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
register..

Thanks,
-Kame


> ---
> drivers/base/node.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> Index: linux-2.6/drivers/base/node.c
> ===================================================================
> --- linux-2.6.orig/drivers/base/node.c 2010-07-15 09:54:06.000000000 -0500
> +++ linux-2.6/drivers/base/node.c 2010-07-15 09:56:16.000000000 -0500
> @@ -346,8 +346,10 @@
> return -EFAULT;
> if (!node_online(nid))
> return 0;
> - sect_start_pfn = section_nr_to_pfn(mem_blk->phys_index);
> - sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1;
> +
> + sect_start_pfn = section_nr_to_pfn(mem_blk->start_phys_index);
> + sect_end_pfn = section_nr_to_pfn(mem_blk->end_phys_index);
> + sect_end_pfn += PAGES_PER_SECTION - 1;
> for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
> int page_nid;
>
> @@ -383,8 +385,10 @@
> if (!unlinked_nodes)
> return -ENOMEM;
> nodes_clear(*unlinked_nodes);
> - sect_start_pfn = section_nr_to_pfn(mem_blk->phys_index);
> - sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1;
> +
> + sect_start_pfn = section_nr_to_pfn(mem_blk->start_phys_index);
> + sect_end_pfn = section_nr_to_pfn(mem_blk->end_phys_index);
> + sect_end_pfn += PAGES_PER_SECTION - 1;
> for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
> int nid;
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo(a)vger.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(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Nathan Fontenot on
On 07/15/2010 07:12 PM, KAMEZAWA Hiroyuki wrote:
> On Thu, 15 Jul 2010 13:40:40 -0500
> Nathan Fontenot <nfont(a)austin.ibm.com> wrote:
>
>> Update the node sysfs directory routines that create
>> links to the memory sysfs directories under each node.
>> This update makes the node code aware that a memory sysfs
>> directory can cover multiple memory sections.
>>
>> Signed-off-by: Nathan Fontenot <nfont(a)austin.ibm.com>
>
> Shouldn't "static int link_mem_sections(int nid)" be update ?
> It does
> for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
> register..
>

No, although the name 'link_mem_sections' does imply that it should. The
range of start_pfn..end_pfn examined in this routine is the range of pfn's
covered by the entire node, not a memory_block.

-Nathan

> Thanks,
> -Kame
>
>
>> ---
>> drivers/base/node.c | 12 ++++++++----
>> 1 file changed, 8 insertions(+), 4 deletions(-)
>>
>> Index: linux-2.6/drivers/base/node.c
>> ===================================================================
>> --- linux-2.6.orig/drivers/base/node.c 2010-07-15 09:54:06.000000000 -0500
>> +++ linux-2.6/drivers/base/node.c 2010-07-15 09:56:16.000000000 -0500
>> @@ -346,8 +346,10 @@
>> return -EFAULT;
>> if (!node_online(nid))
>> return 0;
>> - sect_start_pfn = section_nr_to_pfn(mem_blk->phys_index);
>> - sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1;
>> +
>> + sect_start_pfn = section_nr_to_pfn(mem_blk->start_phys_index);
>> + sect_end_pfn = section_nr_to_pfn(mem_blk->end_phys_index);
>> + sect_end_pfn += PAGES_PER_SECTION - 1;
>> for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
>> int page_nid;
>>
>> @@ -383,8 +385,10 @@
>> if (!unlinked_nodes)
>> return -ENOMEM;
>> nodes_clear(*unlinked_nodes);
>> - sect_start_pfn = section_nr_to_pfn(mem_blk->phys_index);
>> - sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1;
>> +
>> + sect_start_pfn = section_nr_to_pfn(mem_blk->start_phys_index);
>> + sect_end_pfn = section_nr_to_pfn(mem_blk->end_phys_index);
>> + sect_end_pfn += PAGES_PER_SECTION - 1;
>> for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
>> int nid;
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo(a)vger.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(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/