Re: [PATCH 4/5] v2 Update sysfs node routines for new sysfs memorydirectories

From: Nathan Fontenot
Date: Fri Jul 16 2010 - 11:40:23 EST


On 07/15/2010 07:12 PM, KAMEZAWA Hiroyuki wrote:
> On Thu, 15 Jul 2010 13:40:40 -0500
> Nathan Fontenot <nfont@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxx
>> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/