lkml.org 
[lkml]   [2018]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/7] mm/ksm: docs: extend overview comment and make it "DOC:"
    Date
    The existing comment provides a good overview of KSM implementation. Let's
    update it to reflect recent additions of "chain" and "dup" variants of the
    stable tree nodes and mark it as "DOC:" for inclusion into the KSM
    documentation.

    Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
    ---
    mm/ksm.c | 19 ++++++++++++++++++-
    1 file changed, 18 insertions(+), 1 deletion(-)

    diff --git a/mm/ksm.c b/mm/ksm.c
    index 58c2741..54155b1 100644
    --- a/mm/ksm.c
    +++ b/mm/ksm.c
    @@ -51,7 +51,9 @@
    #define DO_NUMA(x) do { } while (0)
    #endif

    -/*
    +/**
    + * DOC: Overview
    + *
    * A few notes about the KSM scanning process,
    * to make it easier to understand the data structures below:
    *
    @@ -67,6 +69,21 @@
    * this tree is fully assured to be working (except when pages are unmapped),
    * and therefore this tree is called the stable tree.
    *
    + * The stable tree node includes information required for reverse
    + * mapping from a KSM page to virtual addresses that map this page.
    + *
    + * In order to avoid large latencies of the rmap walks on KSM pages,
    + * KSM maintains two types of nodes in the stable tree:
    + *
    + * * the regular nodes that keep the reverse mapping structures in a
    + * linked list
    + * * the "chains" that link nodes ("dups") that represent the same
    + * write protected memory content, but each "dup" corresponds to a
    + * different KSM page copy of that content
    + *
    + * Internally, the regular nodes, "dups" and "chains" are represented
    + * using the same :c:type:`struct stable_node` structure.
    + *
    * In addition to the stable tree, KSM uses a second data structure called the
    * unstable tree: this tree holds pointers to pages which have been found to
    * be "unchanged for a period of time". The unstable tree sorts these pages
    --
    2.7.4
    \
     
     \ /
      Last update: 2018-04-24 08:43    [W:2.358 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site