Re: [patch 07/11] mm: memcg: remove unneeded shmem charge type

From: Michal Hocko
Date: Mon Jul 09 2012 - 11:17:51 EST


On Thu 05-07-12 02:44:59, Johannes Weiner wrote:
> shmem page charges have not needed a separate charge type to tell them
> from regular file pages since 08e552c 'memcg: synchronized LRU'.
>
> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>

Yes, MEM_CGROUP_CHARGE_TYPE_SHMEM has been quite confusing.

Acked-by: Michal Hocko <mhocko@xxxxxxx>

> ---
> mm/memcontrol.c | 11 +----------
> 1 files changed, 1 insertions(+), 10 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 4a41b55..418b47d 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -379,7 +379,6 @@ static bool move_file(void)
> enum charge_type {
> MEM_CGROUP_CHARGE_TYPE_CACHE = 0,
> MEM_CGROUP_CHARGE_TYPE_ANON,
> - MEM_CGROUP_CHARGE_TYPE_SHMEM, /* used by page migration of shmem */
> MEM_CGROUP_CHARGE_TYPE_SWAPOUT, /* for accounting swapcache */
> MEM_CGROUP_CHARGE_TYPE_DROP, /* a page was unused swap cache */
> NR_CHARGE_TYPE,
> @@ -2835,8 +2834,6 @@ int mem_cgroup_cache_charge(struct page *page, struct mm_struct *mm,
>
> if (unlikely(!mm))
> mm = &init_mm;
> - if (!page_is_file_cache(page))
> - type = MEM_CGROUP_CHARGE_TYPE_SHMEM;
>
> if (!PageSwapCache(page))
> ret = mem_cgroup_charge_common(page, mm, gfp_mask, type);
> @@ -3243,10 +3240,8 @@ void mem_cgroup_prepare_migration(struct page *page, struct page *newpage,
> */
> if (PageAnon(page))
> ctype = MEM_CGROUP_CHARGE_TYPE_ANON;
> - else if (page_is_file_cache(page))
> - ctype = MEM_CGROUP_CHARGE_TYPE_CACHE;
> else
> - ctype = MEM_CGROUP_CHARGE_TYPE_SHMEM;
> + ctype = MEM_CGROUP_CHARGE_TYPE_CACHE;
> /*
> * The page is committed to the memcg, but it's not actually
> * charged to the res_counter since we plan on replacing the
> @@ -3340,10 +3335,6 @@ void mem_cgroup_replace_page_cache(struct page *oldpage,
> */
> if (!memcg)
> return;
> -
> - if (PageSwapBacked(oldpage))
> - type = MEM_CGROUP_CHARGE_TYPE_SHMEM;
> -
> /*
> * Even if newpage->mapping was NULL before starting replacement,
> * the newpage may be on LRU(or pagevec for LRU) already. We lock
> --
> 1.7.7.6
>

--
Michal Hocko
SUSE Labs
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/