All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Righi <arighi@develer.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Balbir Singh <balbir@linux.vnet.ibm.com>,
	Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>,
	Peter Zijlstra <peterz@infradead.org>,
	Trond Myklebust <trond.myklebust@fys.uio.no>,
	Suleiman Souhlal <suleiman@google.com>,
	Greg Thelen <gthelen@google.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Andrew Morton <akpm@linux-foundation.org>,
	containers@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH -mmotm 4/5] memcg: dirty pages accounting and limiting infrastructure
Date: Thu, 11 Mar 2010 23:27:01 +0100	[thread overview]
Message-ID: <20100311222701.GC2427@linux> (raw)
In-Reply-To: <20100310222338.GB3009@redhat.com>

On Wed, Mar 10, 2010 at 05:23:39PM -0500, Vivek Goyal wrote:
> On Wed, Mar 10, 2010 at 12:00:35AM +0100, Andrea Righi wrote:
> 
> [..]
> 
> > - * Currently used to update mapped file statistics, but the routine can be
> > - * generalized to update other statistics as well.
> > + * mem_cgroup_update_page_stat() - update memcg file cache's accounting
> > + * @page:	the page involved in a file cache operation.
> > + * @idx:	the particular file cache statistic.
> > + * @charge:	true to increment, false to decrement the statistic specified
> > + *		by @idx.
> > + *
> > + * Update memory cgroup file cache's accounting.
> >   */
> > -void mem_cgroup_update_file_mapped(struct page *page, int val)
> > +void mem_cgroup_update_page_stat(struct page *page,
> > +			enum mem_cgroup_write_page_stat_item idx, bool charge)
> >  {
> > -	struct mem_cgroup *mem;
> >  	struct page_cgroup *pc;
> >  	unsigned long flags;
> >  
> > +	if (mem_cgroup_disabled())
> > +		return;
> >  	pc = lookup_page_cgroup(page);
> > -	if (unlikely(!pc))
> > +	if (unlikely(!pc) || !PageCgroupUsed(pc))
> >  		return;
> > -
> >  	lock_page_cgroup(pc, flags);
> > -	mem = pc->mem_cgroup;
> > -	if (!mem)
> > -		goto done;
> > -
> > -	if (!PageCgroupUsed(pc))
> > -		goto done;
> > -
> > -	/*
> > -	 * Preemption is already disabled. We can use __this_cpu_xxx
> > -	 */
> > -	__this_cpu_add(mem->stat->count[MEM_CGROUP_STAT_FILE_MAPPED], val);
> > -
> > -done:
> > +	__mem_cgroup_update_page_stat(pc, idx, charge);
> >  	unlock_page_cgroup(pc, flags);
> >  }
> > +EXPORT_SYMBOL_GPL(mem_cgroup_update_page_stat_unlocked);
> 
>   CC      mm/memcontrol.o
> mm/memcontrol.c:1600: error: ‘mem_cgroup_update_page_stat_unlocked’
> undeclared here (not in a function)
> mm/memcontrol.c:1600: warning: type defaults to ‘int’ in declaration of
> ‘mem_cgroup_update_page_stat_unlocked’
> make[1]: *** [mm/memcontrol.o] Error 1
> make: *** [mm] Error 2

Thanks! Will fix in the next version.

(mmh... why I didn't see this? probably because I'm building a static kernel...)

-Andrea

WARNING: multiple messages have this Message-ID (diff)
From: Andrea Righi <arighi@develer.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Balbir Singh <balbir@linux.vnet.ibm.com>,
	Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>,
	Peter Zijlstra <peterz@infradead.org>,
	Trond Myklebust <trond.myklebust@fys.uio.no>,
	Suleiman Souhlal <suleiman@google.com>,
	Greg Thelen <gthelen@google.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Andrew Morton <akpm@linux-foundation.org>,
	containers@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH -mmotm 4/5] memcg: dirty pages accounting and limiting infrastructure
Date: Thu, 11 Mar 2010 23:27:01 +0100	[thread overview]
Message-ID: <20100311222701.GC2427@linux> (raw)
In-Reply-To: <20100310222338.GB3009@redhat.com>

On Wed, Mar 10, 2010 at 05:23:39PM -0500, Vivek Goyal wrote:
> On Wed, Mar 10, 2010 at 12:00:35AM +0100, Andrea Righi wrote:
> 
> [..]
> 
> > - * Currently used to update mapped file statistics, but the routine can be
> > - * generalized to update other statistics as well.
> > + * mem_cgroup_update_page_stat() - update memcg file cache's accounting
> > + * @page:	the page involved in a file cache operation.
> > + * @idx:	the particular file cache statistic.
> > + * @charge:	true to increment, false to decrement the statistic specified
> > + *		by @idx.
> > + *
> > + * Update memory cgroup file cache's accounting.
> >   */
> > -void mem_cgroup_update_file_mapped(struct page *page, int val)
> > +void mem_cgroup_update_page_stat(struct page *page,
> > +			enum mem_cgroup_write_page_stat_item idx, bool charge)
> >  {
> > -	struct mem_cgroup *mem;
> >  	struct page_cgroup *pc;
> >  	unsigned long flags;
> >  
> > +	if (mem_cgroup_disabled())
> > +		return;
> >  	pc = lookup_page_cgroup(page);
> > -	if (unlikely(!pc))
> > +	if (unlikely(!pc) || !PageCgroupUsed(pc))
> >  		return;
> > -
> >  	lock_page_cgroup(pc, flags);
> > -	mem = pc->mem_cgroup;
> > -	if (!mem)
> > -		goto done;
> > -
> > -	if (!PageCgroupUsed(pc))
> > -		goto done;
> > -
> > -	/*
> > -	 * Preemption is already disabled. We can use __this_cpu_xxx
> > -	 */
> > -	__this_cpu_add(mem->stat->count[MEM_CGROUP_STAT_FILE_MAPPED], val);
> > -
> > -done:
> > +	__mem_cgroup_update_page_stat(pc, idx, charge);
> >  	unlock_page_cgroup(pc, flags);
> >  }
> > +EXPORT_SYMBOL_GPL(mem_cgroup_update_page_stat_unlocked);
> 
>   CC      mm/memcontrol.o
> mm/memcontrol.c:1600: error: a??mem_cgroup_update_page_stat_unlockeda??
> undeclared here (not in a function)
> mm/memcontrol.c:1600: warning: type defaults to a??inta?? in declaration of
> a??mem_cgroup_update_page_stat_unlockeda??
> make[1]: *** [mm/memcontrol.o] Error 1
> make: *** [mm] Error 2

Thanks! Will fix in the next version.

(mmh... why I didn't see this? probably because I'm building a static kernel...)

-Andrea

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2010-03-11 22:27 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-09 23:00 [PATCH -mmotm 0/5] memcg: per cgroup dirty limit (v6) Andrea Righi
2010-03-09 23:00 ` Andrea Righi
2010-03-09 23:00 ` [PATCH -mmotm 1/5] memcg: disable irq at page cgroup lock Andrea Righi
2010-03-09 23:00   ` Andrea Righi
2010-03-09 23:00 ` [PATCH -mmotm 2/5] memcg: dirty memory documentation Andrea Righi
2010-03-09 23:00   ` Andrea Righi
2010-03-09 23:00 ` [PATCH -mmotm 3/5] page_cgroup: introduce file cache flags Andrea Righi
2010-03-09 23:00   ` Andrea Righi
2010-03-09 23:00 ` [PATCH -mmotm 4/5] memcg: dirty pages accounting and limiting infrastructure Andrea Righi
2010-03-09 23:00   ` Andrea Righi
     [not found]   ` <1268175636-4673-5-git-send-email-arighi-vWjgImWzx8FBDgjK7y7TUQ@public.gmane.org>
2010-03-10 22:23     ` Vivek Goyal
2010-03-10 22:23   ` Vivek Goyal
2010-03-10 22:23     ` Vivek Goyal
     [not found]     ` <20100310222338.GB3009-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-11 22:27       ` Andrea Righi
2010-03-11 22:27     ` Andrea Righi [this message]
2010-03-11 22:27       ` Andrea Righi
2010-03-09 23:00 ` [PATCH -mmotm 5/5] memcg: dirty pages instrumentation Andrea Righi
2010-03-09 23:00   ` Andrea Righi
     [not found] ` <1268175636-4673-1-git-send-email-arighi-vWjgImWzx8FBDgjK7y7TUQ@public.gmane.org>
2010-03-09 23:00   ` [PATCH -mmotm 1/5] memcg: disable irq at page cgroup lock Andrea Righi
2010-03-09 23:00   ` [PATCH -mmotm 2/5] memcg: dirty memory documentation Andrea Righi
2010-03-09 23:00   ` [PATCH -mmotm 3/5] page_cgroup: introduce file cache flags Andrea Righi
2010-03-09 23:00   ` [PATCH -mmotm 4/5] memcg: dirty pages accounting and limiting infrastructure Andrea Righi
2010-03-09 23:00   ` [PATCH -mmotm 5/5] memcg: dirty pages instrumentation Andrea Righi
2010-03-11  0:39   ` [PATCH -mmotm 0/5] memcg: per cgroup dirty limit (v6) KAMEZAWA Hiroyuki
2010-03-11 18:07   ` Vivek Goyal
2010-03-10  1:36 ` Balbir Singh
2010-03-10  1:36   ` Balbir Singh
2010-03-11  0:39 ` KAMEZAWA Hiroyuki
2010-03-11  0:39   ` KAMEZAWA Hiroyuki
2010-03-11  1:17   ` KAMEZAWA Hiroyuki
2010-03-11  1:17     ` KAMEZAWA Hiroyuki
     [not found]     ` <20100311101726.f58d24e9.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-03-11  9:14       ` Peter Zijlstra
2010-03-11  9:14     ` Peter Zijlstra
2010-03-11  9:14       ` Peter Zijlstra
2010-03-11  9:25       ` KAMEZAWA Hiroyuki
2010-03-11  9:25       ` KAMEZAWA Hiroyuki
2010-03-11  9:25         ` KAMEZAWA Hiroyuki
2010-03-11  9:42         ` KAMEZAWA Hiroyuki
2010-03-11  9:42           ` KAMEZAWA Hiroyuki
2010-03-11 22:20           ` Andrea Righi
2010-03-11 22:20             ` Andrea Righi
     [not found]           ` <20100311184244.6735076a.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-03-11 22:20             ` Andrea Righi
2010-03-12  1:14             ` Daisuke Nishimura
2010-03-12  1:14           ` Daisuke Nishimura
2010-03-12  1:14             ` Daisuke Nishimura
2010-03-12  2:24             ` KAMEZAWA Hiroyuki
2010-03-12  2:24               ` KAMEZAWA Hiroyuki
     [not found]               ` <20100312112433.689c7294.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-03-15 14:48                 ` Vivek Goyal
2010-03-15 14:48               ` Vivek Goyal
2010-03-15 14:48                 ` Vivek Goyal
     [not found]             ` <20100312101411.b2639128.nishimura-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2010-03-12  2:24               ` KAMEZAWA Hiroyuki
2010-03-12 10:07               ` Andrea Righi
2010-03-12 10:07             ` Andrea Righi
2010-03-12 10:07               ` Andrea Righi
     [not found]         ` <20100311182500.0f3ba994.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-03-11  9:42           ` KAMEZAWA Hiroyuki
2010-03-11 15:03           ` Vivek Goyal
2010-03-11 15:03         ` Vivek Goyal
2010-03-11 15:03           ` Vivek Goyal
     [not found]           ` <20100311150307.GC29246-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-11 23:27             ` Andrea Righi
2010-03-11 23:42             ` KAMEZAWA Hiroyuki
2010-03-11 23:27           ` Andrea Righi
2010-03-11 23:27             ` Andrea Righi
2010-03-11 23:52             ` KAMEZAWA Hiroyuki
2010-03-11 23:52               ` KAMEZAWA Hiroyuki
     [not found]               ` <20100312085244.98e48991.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-03-12 10:01                 ` Andrea Righi
2010-03-12 10:01               ` Andrea Righi
2010-03-12 10:01                 ` Andrea Righi
2010-03-11 23:52             ` KAMEZAWA Hiroyuki
2010-03-15 14:16             ` Vivek Goyal
2010-03-15 14:16             ` Vivek Goyal
2010-03-15 14:16               ` Vivek Goyal
2010-03-11 23:42           ` KAMEZAWA Hiroyuki
2010-03-11 23:42             ` KAMEZAWA Hiroyuki
2010-03-12  0:33             ` Andrea Righi
2010-03-12  0:33               ` Andrea Righi
     [not found]             ` <20100312084230.850f331d.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-03-12  0:33               ` Andrea Righi
2010-03-15 14:38               ` Vivek Goyal
2010-03-15 14:38             ` Vivek Goyal
2010-03-15 14:38               ` Vivek Goyal
2010-03-17 22:32               ` Andrea Righi
2010-03-17 22:32                 ` Andrea Righi
     [not found]               ` <20100315143841.GE21127-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-17 22:32                 ` Andrea Righi
     [not found]   ` <20100311093913.07c9ca8a.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-03-11  1:17     ` KAMEZAWA Hiroyuki
2010-03-11 22:23     ` Andrea Righi
2010-03-11 22:23   ` Andrea Righi
2010-03-11 22:23     ` Andrea Righi
2010-03-11 18:07 ` Vivek Goyal
2010-03-11 18:07   ` Vivek Goyal
2010-03-11 23:59   ` Andrea Righi
2010-03-11 23:59     ` Andrea Righi
2010-03-12  0:03     ` KAMEZAWA Hiroyuki
2010-03-12  0:03       ` KAMEZAWA Hiroyuki
2010-03-12  9:58       ` Andrea Righi
2010-03-12  9:58         ` Andrea Righi
     [not found]       ` <20100312090326.ad07c05c.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2010-03-12  9:58         ` Andrea Righi
2010-03-12  0:03     ` KAMEZAWA Hiroyuki
2010-03-15 14:41     ` Vivek Goyal
2010-03-15 14:41       ` Vivek Goyal
2010-03-15 14:41     ` Vivek Goyal
     [not found]   ` <20100311180753.GE29246-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-11 23:59     ` Andrea Righi
  -- strict thread matches above, loose matches on Subject: below --
2010-03-14 23:26 [PATCH -mmotm 0/5] memcg: per cgroup dirty limit (v7) Andrea Righi
2010-03-14 23:26 ` [PATCH -mmotm 4/5] memcg: dirty pages accounting and limiting infrastructure Andrea Righi
2010-03-14 23:26   ` Andrea Righi
2010-03-15  2:26   ` KAMEZAWA Hiroyuki
2010-03-15  2:26     ` KAMEZAWA Hiroyuki
     [not found]   ` <1268609202-15581-5-git-send-email-arighi-vWjgImWzx8FBDgjK7y7TUQ@public.gmane.org>
2010-03-15  2:26     ` KAMEZAWA Hiroyuki
2010-03-16  2:32     ` Daisuke Nishimura
2010-03-18  6:48     ` Greg Thelen
2010-03-16  2:32   ` Daisuke Nishimura
2010-03-16  2:32     ` Daisuke Nishimura
2010-03-16 14:11     ` Vivek Goyal
2010-03-16 14:11       ` Vivek Goyal
     [not found]       ` <20100316141150.GC9144-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-03-16 15:09         ` Daisuke Nishimura
2010-03-17 22:37         ` Andrea Righi
2010-03-16 15:09       ` Daisuke Nishimura
2010-03-16 15:09         ` Daisuke Nishimura
2010-03-17 22:37       ` Andrea Righi
2010-03-17 22:37         ` Andrea Righi
     [not found]     ` <20100316113238.f7d74848.nishimura-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org>
2010-03-16 14:11       ` Vivek Goyal
2010-03-17 22:52       ` Andrea Righi
2010-03-17 22:52     ` Andrea Righi
2010-03-17 22:52       ` Andrea Righi
2010-03-18  6:48   ` Greg Thelen
2010-03-18  6:48     ` Greg Thelen
     [not found] ` <1268609202-15581-1-git-send-email-arighi-vWjgImWzx8FBDgjK7y7TUQ@public.gmane.org>
2010-03-14 23:26   ` Andrea Righi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100311222701.GC2427@linux \
    --to=arighi@develer.com \
    --cc=akpm@linux-foundation.org \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=gthelen@google.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kirill@shutemov.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nishimura@mxp.nes.nec.co.jp \
    --cc=peterz@infradead.org \
    --cc=suleiman@google.com \
    --cc=trond.myklebust@fys.uio.no \
    --cc=vgoyal@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.