• Yasunori Goto's avatar
    memory hotplug: allocate usemap on the section with pgdat · 48c90682
    Yasunori Goto authored
    Usemaps are allocated on the section which has pgdat by this.
    
    Because usemap size is very small, many other sections usemaps are
    allocated on only one page.  If a section has usemap, it can't be removed
    until removing other sections.  This dependency is not desirable for
    memory removing.
    
    Pgdat has similar feature.  When a section has pgdat area, it must be the
    last section for removing on the node.  So, if section A has pgdat and
    section B has usemap for section A, Both sections can't be removed due to
    dependency each other.
    
    To solve this issue, this patch collects usemap on same section with pgdat
    as much as possible.  If other sections doesn't have any dependency, this
    section will be able to be removed finally.
    Signed-off-by: default avatarYasunori Goto <y-goto@jp.fujitsu.com>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Andy Whitcroft <apw@shadowen.org>
    Cc: David Miller <davem@davemloft.net>
    Cc: Badari Pulavarty <pbadari@us.ibm.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Hiroyuki KAMEZAWA <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Tony Breeds <tony@bakeyournoodle.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    48c90682
sparse.c 16.2 KB