From mboxrd@z Thu Jan 1 00:00:00 1970 From: Balbir Singh Subject: Re: [PATCH -mmotm 1/5] memcg: disable irq at page cgroup lock Date: Thu, 18 Mar 2010 21:58:55 +0530 Message-ID: <20100318162855.GG18054__12479.2475406595$1268929896$gmane$org@balbir.in.ibm.com> References: <1268609202-15581-1-git-send-email-arighi@develer.com> <1268609202-15581-2-git-send-email-arighi@develer.com> <20100317115855.GS18054@balbir.in.ibm.com> <20100318085411.834e1e46.kamezawa.hiroyu@jp.fujitsu.com> <20100318041944.GA18054@balbir.in.ibm.com> <20100318133527.420b2f25.kamezawa.hiroyu@jp.fujitsu.com> Reply-To: balbir-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <20100318133527.420b2f25.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: KAMEZAWA Hiroyuki Cc: linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, Andrea Righi , Daisuke Nishimura , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Trond Myklebust , Suleiman Souhlal , Andrew Morton , containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Vivek Goyal List-Id: containers.vger.kernel.org * KAMEZAWA Hiroyuki [2010-03-18 13:35:27]: > On Thu, 18 Mar 2010 09:49:44 +0530 > Balbir Singh wrote: > > > * KAMEZAWA Hiroyuki [2010-03-18 08:54:11]: > > > > > On Wed, 17 Mar 2010 17:28:55 +0530 > > > Balbir Singh wrote: > > > > > > > * Andrea Righi [2010-03-15 00:26:38]: > > > > > > > > > From: KAMEZAWA Hiroyuki > > > > > > > > > > Now, file-mapped is maintaiend. But more generic update function > > > > > will be needed for dirty page accounting. > > > > > > > > > > For accountig page status, we have to guarantee lock_page_cgroup() > > > > > will be never called under tree_lock held. > > > > > To guarantee that, we use trylock at updating status. > > > > > By this, we do fuzzy accounting, but in almost all case, it's correct. > > > > > > > > > > > > > I don't like this at all, but in almost all cases is not acceptable > > > > for statistics, since decisions will be made on them and having them > > > > incorrect is really bad. Could we do a form of deferred statistics and > > > > fix this. > > > > > > > > > > plz show your implementation which has no performance regresssion. > > > For me, I don't neee file_mapped accounting, at all. If we can remove that, > > > we can add simple migration lock. > > > > That doesn't matter, if you need it, I think the larger user base > > matters. Unmapped and mapped page cache is critical and I use it > > almost daily. > > > > > file_mapped is a feattue you added. please improve it. > > > > > > > I will, but please don't break it silently > > > Andrea, could you go in following way ? > > - don't touch FILE_MAPPED stuff. > - add new functions for other dirty accounting stuff as in this series. > (using trylock is ok.) > > Then, no probelm. It's ok to add mem_cgroup_udpate_stat() indpendent from > mem_cgroup_update_file_mapped(). The look may be messy but it's not your > fault. But please write "why add new function" to patch description. > > I'm sorry for wasting your time. Do we need to go down this route? We could check the stat and do the correct thing. In case of FILE_MAPPED, always grab page_cgroup_lock and for others potentially look at trylock. It is OK for different stats to be protected via different locks. /me takes a look at the code again. -- Three Cheers, Balbir