lkml.org 
[lkml]   [2015]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/7] mm: memcontrol: replace mem_cgroup_lruvec_online with mem_cgroup_online
    Date
    mem_cgroup_lruvec_online() takes lruvec, but it only needs memcg. Since
    get_scan_count(), which is the only user of this function, now possesses
    pointer to memcg, let's pass memcg directly to mem_cgroup_online()
    instead of picking it out of lruvec and rename the function accordingly.

    Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>
    ---
    include/linux/memcontrol.h | 27 ++++++++++-----------------
    mm/vmscan.c | 2 +-
    2 files changed, 11 insertions(+), 18 deletions(-)

    diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
    index 993c9a26b637..c9a14e1eab62 100644
    --- a/include/linux/memcontrol.h
    +++ b/include/linux/memcontrol.h
    @@ -361,6 +361,13 @@ static inline bool mem_cgroup_disabled(void)
    return !cgroup_subsys_enabled(memory_cgrp_subsys);
    }

    +static inline bool mem_cgroup_online(struct mem_cgroup *memcg)
    +{
    + if (mem_cgroup_disabled())
    + return true;
    + return !!(memcg->css.flags & CSS_ONLINE);
    +}
    +
    /*
    * For memory reclaim.
    */
    @@ -369,20 +376,6 @@ int mem_cgroup_select_victim_node(struct mem_cgroup *memcg);
    void mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru,
    int nr_pages);

    -static inline bool mem_cgroup_lruvec_online(struct lruvec *lruvec)
    -{
    - struct mem_cgroup_per_zone *mz;
    - struct mem_cgroup *memcg;
    -
    - if (mem_cgroup_disabled())
    - return true;
    -
    - mz = container_of(lruvec, struct mem_cgroup_per_zone, lruvec);
    - memcg = mz->memcg;
    -
    - return !!(memcg->css.flags & CSS_ONLINE);
    -}
    -
    static inline
    unsigned long mem_cgroup_get_lru_size(struct lruvec *lruvec, enum lru_list lru)
    {
    @@ -706,13 +699,13 @@ static inline bool mem_cgroup_disabled(void)
    return true;
    }

    -static inline bool
    -mem_cgroup_inactive_anon_is_low(struct lruvec *lruvec)
    +static inline bool mem_cgroup_online(struct mem_cgroup *memcg)
    {
    return true;
    }

    -static inline bool mem_cgroup_lruvec_online(struct lruvec *lruvec)
    +static inline bool
    +mem_cgroup_inactive_anon_is_low(struct lruvec *lruvec)
    {
    return true;
    }
    diff --git a/mm/vmscan.c b/mm/vmscan.c
    index acc6bff84e26..b220e6cda25d 100644
    --- a/mm/vmscan.c
    +++ b/mm/vmscan.c
    @@ -1988,7 +1988,7 @@ static void get_scan_count(struct lruvec *lruvec, struct mem_cgroup *memcg,
    if (current_is_kswapd()) {
    if (!zone_reclaimable(zone))
    force_scan = true;
    - if (!mem_cgroup_lruvec_online(lruvec))
    + if (!mem_cgroup_online(memcg))
    force_scan = true;
    }
    if (!global_reclaim(sc))
    --
    2.1.4


    \
     
     \ /
      Last update: 2015-12-10 13:01    [W:4.120 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site