lkml.org 
[lkml]   [2011]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[patch 8/8] mm: memcg: modify PageCgroupCache non-atomically
    Date
    From: Johannes Weiner <jweiner@redhat.com>

    This bit is protected by lock_page_cgroup(), there is no need for
    locked operations when setting and clearing it.

    Signed-off-by: Johannes Weiner <jweiner@redhat.com>
    ---
    include/linux/page_cgroup.h | 4 ++--
    mm/memcontrol.c | 4 ++--
    2 files changed, 4 insertions(+), 4 deletions(-)
    diff --git a/include/linux/page_cgroup.h b/include/linux/page_cgroup.h
    index a0bc9d0..14ddcaf 100644
    --- a/include/linux/page_cgroup.h
    +++ b/include/linux/page_cgroup.h
    @@ -77,8 +77,8 @@ static inline int __TestClearPageCgroup##uname(struct page_cgroup *pc) \

    /* Cache flag is set only once (at allocation) */
    TESTPCGFLAG(Cache, CACHE)
    -CLEARPCGFLAG(Cache, CACHE)
    -SETPCGFLAG(Cache, CACHE)
    +__CLEARPCGFLAG(Cache, CACHE)
    +__SETPCGFLAG(Cache, CACHE)

    TESTPCGFLAG(Used, USED)
    CLEARPCGFLAG(Used, USED)
    diff --git a/mm/memcontrol.c b/mm/memcontrol.c
    index 51aba19..8cd1d1c 100644
    --- a/mm/memcontrol.c
    +++ b/mm/memcontrol.c
    @@ -2444,11 +2444,11 @@ static void __mem_cgroup_commit_charge(struct mem_cgroup *memcg,
    switch (ctype) {
    case MEM_CGROUP_CHARGE_TYPE_CACHE:
    case MEM_CGROUP_CHARGE_TYPE_SHMEM:
    - SetPageCgroupCache(pc);
    + __SetPageCgroupCache(pc);
    SetPageCgroupUsed(pc);
    break;
    case MEM_CGROUP_CHARGE_TYPE_MAPPED:
    - ClearPageCgroupCache(pc);
    + __ClearPageCgroupCache(pc);
    SetPageCgroupUsed(pc);
    break;
    default:
    --
    1.7.6.4


    \
     
     \ /
      Last update: 2011-11-23 16:45    [from the cache]
    ©2003-2011 Jasper Spaans