lkml.org 
[lkml]   [2006]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH: 002/017]Memory hotplug for new nodes v.4.(change name old add_memory() to arch_add_memory())
    This patch changes name of old add_memory() to arch_add_memory.
    and use node id to get pgdat for the node at NODE_DATA().

    Note: Powerpc's old add_memory() is defined as __devinit. However,
    add_memory() is usually called only after bootup.
    I suppose it may be redundant. But, I'm not sure about powerpc.
    So, I keep it. (But, __meminit is better than __devinit at least.)

    Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com>

    arch/i386/mm/init.c | 2 +-
    arch/ia64/mm/init.c | 4 ++--
    arch/powerpc/mm/mem.c | 4 +---
    arch/x86_64/mm/init.c | 4 ++--
    4 files changed, 6 insertions(+), 8 deletions(-)

    Index: pgdat8/arch/i386/mm/init.c
    ===================================================================
    --- pgdat8.orig/arch/i386/mm/init.c 2006-03-17 12:15:27.574691472 +0900
    +++ pgdat8/arch/i386/mm/init.c 2006-03-17 12:16:06.189821080 +0900
    @@ -652,7 +652,7 @@ void __init mem_init(void)
    * memory to the highmem for now.
    */
    #ifndef CONFIG_NEED_MULTIPLE_NODES
    -int add_memory(u64 start, u64 size)
    +int arch_add_memory(int nid, u64 start, u64 size)
    {
    struct pglist_data *pgdata = &contig_page_data;
    struct zone *zone = pgdata->node_zones + MAX_NR_ZONES-1;
    Index: pgdat8/arch/ia64/mm/init.c
    ===================================================================
    --- pgdat8.orig/arch/ia64/mm/init.c 2006-03-17 12:15:27.574691472 +0900
    +++ pgdat8/arch/ia64/mm/init.c 2006-03-17 12:16:06.190820928 +0900
    @@ -646,7 +646,7 @@ void online_page(struct page *page)
    num_physpages++;
    }

    -int add_memory(u64 start, u64 size)
    +int arch_add_memory(int nid, u64 start, u64 size)
    {
    pg_data_t *pgdat;
    struct zone *zone;
    @@ -654,7 +654,7 @@ int add_memory(u64 start, u64 size)
    unsigned long nr_pages = size >> PAGE_SHIFT;
    int ret;

    - pgdat = NODE_DATA(0);
    + pgdat = NODE_DATA(nid);

    zone = pgdat->node_zones + ZONE_NORMAL;
    ret = __add_pages(zone, start_pfn, nr_pages);
    Index: pgdat8/arch/powerpc/mm/mem.c
    ===================================================================
    --- pgdat8.orig/arch/powerpc/mm/mem.c 2006-03-17 12:15:27.575691320 +0900
    +++ pgdat8/arch/powerpc/mm/mem.c 2006-03-17 12:16:06.190820928 +0900
    @@ -114,15 +114,13 @@ void online_page(struct page *page)
    num_physpages++;
    }

    -int __devinit add_memory(u64 start, u64 size)
    +int __meminit arch_add_memory(int nid, u64 start, u64 size)
    {
    struct pglist_data *pgdata;
    struct zone *zone;
    - int nid;
    unsigned long start_pfn = start >> PAGE_SHIFT;
    unsigned long nr_pages = size >> PAGE_SHIFT;

    - nid = hot_add_scn_to_nid(start);
    pgdata = NODE_DATA(nid);

    start = __va(start);
    Index: pgdat8/arch/x86_64/mm/init.c
    ===================================================================
    --- pgdat8.orig/arch/x86_64/mm/init.c 2006-03-17 12:15:27.575691320 +0900
    +++ pgdat8/arch/x86_64/mm/init.c 2006-03-17 12:16:06.191820776 +0900
    @@ -493,9 +493,9 @@ void online_page(struct page *page)
    num_physpages++;
    }

    -int add_memory(u64 start, u64 size)
    +int arch_add_memory(int nid, u64 start, u64 size)
    {
    - struct pglist_data *pgdat = NODE_DATA(0);
    + struct pglist_data *pgdat = NODE_DATA(nid);
    struct zone *zone = pgdat->node_zones + MAX_NR_ZONES-2;
    unsigned long start_pfn = start >> PAGE_SHIFT;
    unsigned long nr_pages = size >> PAGE_SHIFT;
    --
    Yasunori Goto


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-03-17 09:24    [W:0.024 / U:2.596 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site