lkml.org 
[lkml]   [2010]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/7] Allow CONFIG_MIGRATION to be set without CONFIG_NUMA
    On Wed, 6 Jan 2010, Mel Gorman wrote:

    > CONFIG_MIGRATION currently depends on CONFIG_NUMA. The current users of
    > page migration such as sys_move_pages(), sys_migrate_pages() and cpuset
    > process migration are ordinarily only beneficial on NUMA.
    >
    > As memory compaction will operate within a zone and is useful on both NUMA
    > and non-NUMA systems, this patch allows CONFIG_MIGRATION to be set if the
    > user selects CONFIG_COMPACTION as an option.
    >
    > TODO
    > o After this patch is applied, the migration core is available but it
    > also makes NUMA-specific features available. This is too much
    > exposure so revisit this.
    >

    CONFIG_MIGRATION is no longer strictly dependent on CONFIG_NUMA since
    ARCH_ENABLE_MEMORY_HOTREMOVE has allowed it to be configured for UMA
    machines. All strictly NUMA features in the migration core should be
    isolated under its #ifdef CONFIG_NUMA (sys_move_pages()) in mm/migrate.c
    or by simply not compiling mm/mempolicy.c (sys_migrate_pages()), so this
    patch looks fine as is (although the "help" text for CONFIG_MIGRATION
    could be updated to reflect that it's useful for both memory hot-remove
    and now compaction).

    > Signed-off-by: Mel Gorman <mel@csn.ul.ie>
    > ---
    > mm/Kconfig | 12 +++++++++++-
    > 1 files changed, 11 insertions(+), 1 deletions(-)
    >
    > diff --git a/mm/Kconfig b/mm/Kconfig
    > index 17b8947..1d8e2b2 100644
    > --- a/mm/Kconfig
    > +++ b/mm/Kconfig
    > @@ -168,12 +168,22 @@ config SPLIT_PTLOCK_CPUS
    > default "4"
    >
    > #
    > +# support for memory compaction
    > +config COMPACTION
    > + bool "Allow for memory compaction"
    > + def_bool y
    > + select MIGRATION
    > + depends on EXPERIMENTAL && HUGETLBFS
    > + help
    > + Allows the compaction of memory for the allocation of huge pages.
    > +
    > +#
    > # support for page migration
    > #
    > config MIGRATION
    > bool "Page migration"
    > def_bool y
    > - depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE
    > + depends on NUMA || ARCH_ENABLE_MEMORY_HOTREMOVE || COMPACTION
    > help
    > Allows the migration of the physical location of pages of processes
    > while the virtual addresses are not changed. This is useful for


    \
     
     \ /
      Last update: 2010-01-07 22:49    [W:0.024 / U:31.100 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site