mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

With KHO in place, let's add documentation that describes what it is and how to use it. Link: https://lkml.kernel.org/r/20250509074635.3187114-17-changyuanl@google.com Signed-off-by: Alexander Graf <graf@amazon.com> Co-developed-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Co-developed-by: Changyuan Lyu <changyuanl@google.com> Signed-off-by: Changyuan Lyu <changyuanl@google.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Anthony Yznaga <anthony.yznaga@oracle.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Ashish Kalra <ashish.kalra@amd.com> Cc: Ben Herrenschmidt <benh@kernel.crashing.org> Cc: Borislav Betkov <bp@alien8.de> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Eric Biederman <ebiederm@xmission.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Gowans <jgowans@amazon.com> Cc: Jason Gunthorpe <jgg@nvidia.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Marc Rutland <mark.rutland@arm.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Pasha Tatashin <pasha.tatashin@soleen.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Pratyush Yadav <ptyadav@amazon.de> Cc: Rob Herring <robh@kernel.org> Cc: Saravana Kannan <saravanak@google.com> Cc: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleinxer <tglx@linutronix.de> Cc: Thomas Lendacky <thomas.lendacky@amd.com> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
46 lines
1.2 KiB
ReStructuredText
46 lines
1.2 KiB
ReStructuredText
=================
|
|
Memory Management
|
|
=================
|
|
|
|
Linux memory management subsystem is responsible, as the name implies,
|
|
for managing the memory in the system. This includes implementation of
|
|
virtual memory and demand paging, memory allocation both for kernel
|
|
internal structures and user space programs, mapping of files into
|
|
processes address space and many other cool things.
|
|
|
|
Linux memory management is a complex system with many configurable
|
|
settings. Most of these settings are available via ``/proc``
|
|
filesystem and can be queried and adjusted using ``sysctl``. These APIs
|
|
are described in Documentation/admin-guide/sysctl/vm.rst and in `man 5 proc`_.
|
|
|
|
.. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html
|
|
|
|
Linux memory management has its own jargon and if you are not yet
|
|
familiar with it, consider reading Documentation/admin-guide/mm/concepts.rst.
|
|
|
|
Here we document in detail how to interact with various mechanisms in
|
|
the Linux memory management.
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
concepts
|
|
cma_debugfs
|
|
damon/index
|
|
hugetlbpage
|
|
idle_page_tracking
|
|
ksm
|
|
memory-hotplug
|
|
multigen_lru
|
|
nommu-mmap
|
|
numa_memory_policy
|
|
numaperf
|
|
pagemap
|
|
shrinker_debugfs
|
|
soft-dirty
|
|
swap_numa
|
|
transhuge
|
|
userfaultfd
|
|
zswap
|
|
kho
|