lkml.org 
[lkml]   [2012]   [Apr]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH -V6 14/14] memcg: Add memory controller documentation for hugetlb management
    Date
    From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>

    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    ---
    Documentation/cgroups/memory.txt | 29 +++++++++++++++++++++++++++++
    1 file changed, 29 insertions(+)

    diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
    index 4c95c00..d99c41b 100644
    --- a/Documentation/cgroups/memory.txt
    +++ b/Documentation/cgroups/memory.txt
    @@ -43,6 +43,7 @@ Features:
    - usage threshold notifier
    - oom-killer disable knob and oom-notifier
    - Root cgroup has no limit controls.
    + - resource accounting for HugeTLB pages

    Kernel memory support is work in progress, and the current version provides
    basically functionality. (See Section 2.7)
    @@ -75,6 +76,12 @@ Brief summary of control files.
    memory.kmem.tcp.limit_in_bytes # set/show hard limit for tcp buf memory
    memory.kmem.tcp.usage_in_bytes # show current tcp buf memory allocation

    +
    + memory.hugetlb.<hugepagesize>.limit_in_bytes # set/show limit of "hugepagesize" hugetlb usage
    + memory.hugetlb.<hugepagesize>.max_usage_in_bytes # show max "hugepagesize" hugetlb usage recorded
    + memory.hugetlb.<hugepagesize>.usage_in_bytes # show current res_counter usage for "hugepagesize" hugetlb
    + # see 5.7 for details
    +
    1. History

    The memory controller has a long history. A request for comments for the memory
    @@ -279,6 +286,15 @@ per cgroup, instead of globally.

    * tcp memory pressure: sockets memory pressure for the tcp protocol.

    +2.8 HugeTLB extension
    +
    +This extension allows to limit the HugeTLB usage per control group and
    +enforces the controller limit during page fault. Since HugeTLB doesn't
    +support page reclaim, enforcing the limit at page fault time implies that,
    +the application will get SIGBUS signal if it tries to access HugeTLB pages
    +beyond its limit. This requires the application to know beforehand how much
    +HugeTLB pages it would require for its use.
    +
    3. User Interface

    0. Configuration
    @@ -287,6 +303,7 @@ a. Enable CONFIG_CGROUPS
    b. Enable CONFIG_RESOURCE_COUNTERS
    c. Enable CONFIG_CGROUP_MEM_RES_CTLR
    d. Enable CONFIG_CGROUP_MEM_RES_CTLR_SWAP (to use swap extension)
    +f. Enable CONFIG_MEM_RES_CTLR_HUGETLB (to use HugeTLB extension)

    1. Prepare the cgroups (see cgroups.txt, Why are cgroups needed?)
    # mount -t tmpfs none /sys/fs/cgroup
    @@ -510,6 +527,18 @@ unevictable=<total anon pages> N0=<node 0 pages> N1=<node 1 pages> ...

    And we have total = file + anon + unevictable.

    +5.7 HugeTLB resource control files
    +For a system supporting two hugepage size (16M and 16G) the control
    +files include:
    +
    + memory.hugetlb.16GB.limit_in_bytes
    + memory.hugetlb.16GB.max_usage_in_bytes
    + memory.hugetlb.16GB.usage_in_bytes
    + memory.hugetlb.16MB.limit_in_bytes
    + memory.hugetlb.16MB.max_usage_in_bytes
    + memory.hugetlb.16MB.usage_in_bytes
    +
    +
    6. Hierarchy support

    The memory controller supports a deep hierarchy and hierarchical accounting.
    --
    1.7.10


    \
     
     \ /
      Last update: 2012-04-16 12:51    [W:0.022 / U:60.332 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site