[Devel] [PATCH rh7 1/4] mm: memcontrol: account shmem pages

Andrey Ryabinin aryabinin at virtuozzo.com
Thu May 5 05:24:18 PDT 2016



On 05/05/2016 01:23 PM, Vladimir Davydov wrote:
> Needed by the following patches.
> 
> Signed-off-by: Vladimir Davydov <vdavydov at virtuozzo.com>

Reviewed-by: Andrey Ryabinin <aryabinin at virtuozzo.com>

> ---
>  mm/memcontrol.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index b0feff5d5222..034bc451705f 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -97,6 +97,7 @@ enum mem_cgroup_stat_index {
>  	MEM_CGROUP_STAT_RSS,		/* # of pages charged as anon rss */
>  	MEM_CGROUP_STAT_RSS_HUGE,	/* # of pages charged as anon huge */
>  	MEM_CGROUP_STAT_FILE_MAPPED,	/* # of pages charged as file rss */
> +	MEM_CGROUP_STAT_SHMEM,		/* # of charged shmem pages */
>  	MEM_CGROUP_STAT_SWAP,		/* # of pages, swapped out */
>  	MEM_CGROUP_STAT_NSTATS,
>  };
> @@ -106,6 +107,7 @@ static const char * const mem_cgroup_stat_names[] = {
>  	"rss",
>  	"rss_huge",
>  	"mapped_file",
> +	"shmem",
>  	"swap",
>  };
>  
> @@ -1002,9 +1004,13 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg,
>  	if (anon)
>  		__this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_RSS],
>  				nr_pages);
> -	else
> +	else {
>  		__this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_CACHE],
>  				nr_pages);
> +		if (PageSwapBacked(page))
> +			__this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_SHMEM],
> +				       nr_pages);
> +	}
>  
>  	if (PageTransHuge(page))
>  		__this_cpu_add(memcg->stat->count[MEM_CGROUP_STAT_RSS_HUGE],
> 


More information about the Devel mailing list