lkml.org 
[lkml]   [2012]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[patch 5/6] mm: memcg: group swapped-out statistics counter logically
    Date
    The counter of currently swapped out pages in a memcg (hierarchy) is
    sitting amidst ever-increasing event counters. Move this item to the
    other counters that reflect current state rather than history.

    This technically breaks the kernel ABI, but hopefully nobody relies on
    the order of items in memory.stat.

    Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
    ---
    mm/memcontrol.c | 12 ++++++------
    1 file changed, 6 insertions(+), 6 deletions(-)

    diff --git a/mm/memcontrol.c b/mm/memcontrol.c
    index 546e7db..3ee63f6 100644
    --- a/mm/memcontrol.c
    +++ b/mm/memcontrol.c
    @@ -4257,9 +4257,9 @@ enum {
    MCS_RSS,
    MCS_FILE_MAPPED,
    MCS_MLOCK,
    + MCS_SWAP,
    MCS_PGPGIN,
    MCS_PGPGOUT,
    - MCS_SWAP,
    MCS_PGFAULT,
    MCS_PGMAJFAULT,
    MCS_INACTIVE_ANON,
    @@ -4279,9 +4279,9 @@ static const char *memcg_stat_strings[NR_MCS_STAT] = {
    "rss",
    "mapped_file",
    "mlock",
    + "swap",
    "pgpgin",
    "pgpgout",
    - "swap",
    "pgfault",
    "pgmajfault",
    "inactive_anon",
    @@ -4306,14 +4306,14 @@ mem_cgroup_get_local_stat(struct mem_cgroup *memcg, struct mcs_total_stat *s)
    s->stat[MCS_FILE_MAPPED] += val * PAGE_SIZE;
    val = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_MLOCK);
    s->stat[MCS_MLOCK] += val * PAGE_SIZE;
    - val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGPGIN);
    - s->stat[MCS_PGPGIN] += val;
    - val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGPGOUT);
    - s->stat[MCS_PGPGOUT] += val;
    if (do_swap_account) {
    val = mem_cgroup_read_stat(memcg, MEM_CGROUP_STAT_SWAPOUT);
    s->stat[MCS_SWAP] += val * PAGE_SIZE;
    }
    + val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGPGIN);
    + s->stat[MCS_PGPGIN] += val;
    + val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGPGOUT);
    + s->stat[MCS_PGPGOUT] += val;
    val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGFAULT);
    s->stat[MCS_PGFAULT] += val;
    val = mem_cgroup_read_events(memcg, MEM_CGROUP_EVENTS_PGMAJFAULT);
    --
    1.7.10.1


    \
     
     \ /
      Last update: 2012-05-14 20:41    [W:0.024 / U:97.204 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site