[lkml]   [2011]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] mm: Do not stall in synchronous compaction for THP allocations
    On Tue, Nov 15, 2011 at 01:07:51PM -0800, David Rientjes wrote:
    > On Tue, 15 Nov 2011, Mel Gorman wrote:
    > > Fine control is limited. If it is really needed, I would not oppose
    > > a patch that allows the use of sync compaction via a new setting in
    > > /sys/kernel/mm/transparent_hugepage/defrag. However, I think it is
    > > a slippery slope to expose implementation details like this and I'm
    > > not currently planning to implement such a patch.
    > >
    > This doesn't expose any implementation detail, the "defrag" tunable is
    > supposed to limit defragmentation efforts in the VM if the hugepages
    > aren't immediately available and simply fallback to using small pages.

    The current settings are "always", "madvise" and "never" which matches
    the settings for /sys/kernel/mm/transparent_hugepage/enabled and are
    fairly straight forward.

    Adding sync here could obviously be implemented although it may
    require both always-sync and madvise-sync. Alternatively, something
    like an options file could be created to create a bitmap similar to
    what ftrace does. Whatever the mechanism, it exposes the fact that
    "sync compaction" is used. If that turns out to be not enough, then
    you may want to add other steps like aggressively reclaiming memory
    which also potentially may need to be controlled via the sysfs file
    and this is the slippery slope.

    > Given that definition, it would make sense to allow for synchronous
    > defragmentation (i.e. sync_compaction) on the second iteration of the page
    > allocator slowpath if set. So where's the disconnect between this
    > proposed behavior and the definition of the tunable in
    > Documentation/vm/transhuge.txt?

    The transhuge.txt file does not describe how defrag works or whether it
    uses sync compaction internally.

    Mel Gorman
    SUSE Labs

     \ /
      Last update: 2011-11-16 00:51    [W:0.020 / U:12.216 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site