Re: [PATCH: 000/017] (RFC)Memory hotplug for new nodes v.3.

From: Yasunori Goto <>
Date: 2006-03-10 18:13:02
Thank you for your comment.
I'm very glad. :-)

> Yasunori Goto <> wrote:
> >
> > I'll post newest patches for memory hotadd with pgdat allocation as V3.
> >  There are many changes to make more common code.
> General comments:
> - Thanks for working against -mm.  It can be a bit of a pain, but it
>   eases staging and integration later on.
> - Please review all the code to check that all those functions which can
>   be made static are indeed made static.  I see quite a few global
>   functions there.
> - Make sure that all functions which can be tagged __meminit are so tagged.
> - It would be useful to build a CONFIG_MEMORY_HOTPLUG=n kernel both with
>   and without the patchsets and to publish and maintain the increase in
>   code size.  Ideally that increase will be zero.  Probably it won't be,
>   and it'd be nice to understand why, and to minimise it.

Ok. I'll check and fix it.

> - Arch issues:
>   - Which architectures is this patchset aimed at and tested on?

      At least, Fujitsu is making this style hot-add feature
      on ia64 box which is named as PrimeQuest.
      (SGI or HP might wait it.)

>   - Which other architectures might be able to use this code in the
>     future?  Because we should ask the maintainers of those other
>     architectures to take a look at the changes.

      I heard from Andi-san that x86-64 will need this.
      And ppc64 might use some of my patch.

      It depends on ....
         - There is Numa box on its architecture.
         - One node of NUMA will be hot-added.

> - What locking does node hot-add use?  There are quite a few places in
>   the kernel which cheerfully iterate across node lists while assuming that
>   they won't change.  The usage of stop_machine_run() is supposed to cover
>   all that, I assume?

    If my understanding is correct, there is 2 critical point.
      - One is zonelist update, indeed. Stop_machine_run() can
        cover it.
      - Another is node_online_map and NODE_DATA().
        If node_online_map is onlined before that 
        NODE_DATA() is updated, or before that pgdat is initialized,
        kernel might touch uninitialized pgdat.
        So, node_set_online() is called at final point. 
    The old kernel had pgdat->next link list, it was also critial point
    for hot-add. But current -mm remove it. So, it is not issue now. :-)


Yasunori Goto 

To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Fri Mar 10 18:13:51 2006

This archive was generated by hypermail 2.1.8 : 2006-03-10 18:13:59 EST