Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Documentation/vm/unevictable-lru.txt: document interaction between compaction and the unevictable LRU

The memory compaction code uses the migration code to do most of the
work in compaction. However, the compaction code interacts with the
unevictable LRU differently than migration code and this difference
should be noted in the documentation.

[akpm@linux-foundation.org: identify /proc/sys/vm/compact_unevictable directly]
Signed-off-by: Eric B Munson <emunson@akamai.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Christoph Lameter <cl@linux.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Mel Gorman <mgorman@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Eric B Munson and committed by
Linus Torvalds
922c0551 5bbe3547

+12
+12
Documentation/vm/unevictable-lru.txt
··· 22 22 - Filtering special vmas. 23 23 - munlock()/munlockall() system call handling. 24 24 - Migrating mlocked pages. 25 + - Compacting mlocked pages. 25 26 - mmap(MAP_LOCKED) system call handling. 26 27 - munmap()/exit()/exec() system call handling. 27 28 - try_to_unmap(). ··· 449 448 process is released. To ensure that we don't strand pages on the unevictable 450 449 list because of a race between munlock and migration, page migration uses the 451 450 putback_lru_page() function to add migrated pages back to the LRU. 451 + 452 + 453 + COMPACTING MLOCKED PAGES 454 + ------------------------ 455 + 456 + The unevictable LRU can be scanned for compactable regions and the default 457 + behavior is to do so. /proc/sys/vm/compact_unevictable_allowed controls 458 + this behavior (see Documentation/sysctl/vm.txt). Once scanning of the 459 + unevictable LRU is enabled, the work of compaction is mostly handled by 460 + the page migration code and the same work flow as described in MIGRATING 461 + MLOCKED PAGES will apply. 452 462 453 463 454 464 mmap(MAP_LOCKED) SYSTEM CALL HANDLING