From: Andrea Righi <arighi@develer.com> To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>, Balbir Singh <balbir@linux.vnet.ibm.com>, Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: Vivek Goyal <vgoyal@redhat.com>, 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, Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Subject: [PATCH -mmotm 1/5] memcg: disable irq at page cgroup lock Date: Wed, 10 Mar 2010 00:00:32 +0100 [thread overview] Message-ID: <1268175636-4673-2-git-send-email-arighi@develer.com> (raw) In-Reply-To: <1268175636-4673-1-git-send-email-arighi@develer.com> From: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> In current implementation, we don't have to disable irq at lock_page_cgroup() because the lock is never acquired in interrupt context. But we are going to call it in later patch in an interrupt context or with irq disabled, so this patch disables irq at lock_page_cgroup() and enables it at unlock_page_cgroup(). Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> --- include/linux/page_cgroup.h | 16 ++++++++++++++-- mm/memcontrol.c | 43 +++++++++++++++++++++++++------------------ 2 files changed, 39 insertions(+), 20 deletions(-) diff --git a/include/linux/page_cgroup.h b/include/linux/page_cgroup.h index 30b0813..0d2f92c 100644 --- a/include/linux/page_cgroup.h +++ b/include/linux/page_cgroup.h @@ -83,16 +83,28 @@ static inline enum zone_type page_cgroup_zid(struct page_cgroup *pc) return page_zonenum(pc->page); } -static inline void lock_page_cgroup(struct page_cgroup *pc) +static inline void __lock_page_cgroup(struct page_cgroup *pc) { bit_spin_lock(PCG_LOCK, &pc->flags); } -static inline void unlock_page_cgroup(struct page_cgroup *pc) +static inline void __unlock_page_cgroup(struct page_cgroup *pc) { bit_spin_unlock(PCG_LOCK, &pc->flags); } +#define lock_page_cgroup(pc, flags) \ + do { \ + local_irq_save(flags); \ + __lock_page_cgroup(pc); \ + } while (0) + +#define unlock_page_cgroup(pc, flags) \ + do { \ + __unlock_page_cgroup(pc); \ + local_irq_restore(flags); \ + } while (0) + #else /* CONFIG_CGROUP_MEM_RES_CTLR */ struct page_cgroup; diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 7fab84e..a9fd736 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1352,12 +1352,13 @@ void mem_cgroup_update_file_mapped(struct page *page, int val) { struct mem_cgroup *mem; struct page_cgroup *pc; + unsigned long flags; pc = lookup_page_cgroup(page); if (unlikely(!pc)) return; - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); mem = pc->mem_cgroup; if (!mem) goto done; @@ -1371,7 +1372,7 @@ void mem_cgroup_update_file_mapped(struct page *page, int val) __this_cpu_add(mem->stat->count[MEM_CGROUP_STAT_FILE_MAPPED], val); done: - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); } /* @@ -1705,11 +1706,12 @@ struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page) struct page_cgroup *pc; unsigned short id; swp_entry_t ent; + unsigned long flags; VM_BUG_ON(!PageLocked(page)); pc = lookup_page_cgroup(page); - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); if (PageCgroupUsed(pc)) { mem = pc->mem_cgroup; if (mem && !css_tryget(&mem->css)) @@ -1723,7 +1725,7 @@ struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page) mem = NULL; rcu_read_unlock(); } - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); return mem; } @@ -1736,13 +1738,15 @@ static void __mem_cgroup_commit_charge(struct mem_cgroup *mem, struct page_cgroup *pc, enum charge_type ctype) { + unsigned long flags; + /* try_charge() can return NULL to *memcg, taking care of it. */ if (!mem) return; - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); if (unlikely(PageCgroupUsed(pc))) { - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); mem_cgroup_cancel_charge(mem); return; } @@ -1772,7 +1776,7 @@ static void __mem_cgroup_commit_charge(struct mem_cgroup *mem, mem_cgroup_charge_statistics(mem, pc, true); - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); /* * "charge_statistics" updated event counter. Then, check it. * Insert ancestor (and ancestor's ancestors), to softlimit RB-tree. @@ -1842,12 +1846,13 @@ static int mem_cgroup_move_account(struct page_cgroup *pc, struct mem_cgroup *from, struct mem_cgroup *to, bool uncharge) { int ret = -EINVAL; - lock_page_cgroup(pc); + unsigned long flags; + lock_page_cgroup(pc, flags); if (PageCgroupUsed(pc) && pc->mem_cgroup == from) { __mem_cgroup_move_account(pc, from, to, uncharge); ret = 0; } - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); /* * check events */ @@ -1974,17 +1979,17 @@ int mem_cgroup_cache_charge(struct page *page, struct mm_struct *mm, */ if (!(gfp_mask & __GFP_WAIT)) { struct page_cgroup *pc; - + unsigned long flags; pc = lookup_page_cgroup(page); if (!pc) return 0; - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); if (PageCgroupUsed(pc)) { - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); return 0; } - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); } if (unlikely(!mm && !mem)) @@ -2166,6 +2171,7 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype) struct page_cgroup *pc; struct mem_cgroup *mem = NULL; struct mem_cgroup_per_zone *mz; + unsigned long flags; if (mem_cgroup_disabled()) return NULL; @@ -2180,7 +2186,7 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype) if (unlikely(!pc || !PageCgroupUsed(pc))) return NULL; - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); mem = pc->mem_cgroup; @@ -2219,7 +2225,7 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype) */ mz = page_cgroup_zoneinfo(pc); - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); memcg_check_events(mem, page); /* at swapout, this memcg will be accessed to record to swap */ @@ -2229,7 +2235,7 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype) return mem; unlock_out: - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); return NULL; } @@ -2417,17 +2423,18 @@ int mem_cgroup_prepare_migration(struct page *page, struct mem_cgroup **ptr) struct page_cgroup *pc; struct mem_cgroup *mem = NULL; int ret = 0; + unsigned long flags; if (mem_cgroup_disabled()) return 0; pc = lookup_page_cgroup(page); - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); if (PageCgroupUsed(pc)) { mem = pc->mem_cgroup; css_get(&mem->css); } - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); if (mem) { ret = __mem_cgroup_try_charge(NULL, GFP_KERNEL, &mem, false); -- 1.6.3.3
WARNING: multiple messages have this Message-ID (diff)
From: Andrea Righi <arighi@develer.com> To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>, Balbir Singh <balbir@linux.vnet.ibm.com>, Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: Vivek Goyal <vgoyal@redhat.com>, 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: [PATCH -mmotm 1/5] memcg: disable irq at page cgroup lock Date: Wed, 10 Mar 2010 00:00:32 +0100 [thread overview] Message-ID: <1268175636-4673-2-git-send-email-arighi@develer.com> (raw) In-Reply-To: <1268175636-4673-1-git-send-email-arighi@develer.com> From: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> In current implementation, we don't have to disable irq at lock_page_cgroup() because the lock is never acquired in interrupt context. But we are going to call it in later patch in an interrupt context or with irq disabled, so this patch disables irq at lock_page_cgroup() and enables it at unlock_page_cgroup(). Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> --- include/linux/page_cgroup.h | 16 ++++++++++++++-- mm/memcontrol.c | 43 +++++++++++++++++++++++++------------------ 2 files changed, 39 insertions(+), 20 deletions(-) diff --git a/include/linux/page_cgroup.h b/include/linux/page_cgroup.h index 30b0813..0d2f92c 100644 --- a/include/linux/page_cgroup.h +++ b/include/linux/page_cgroup.h @@ -83,16 +83,28 @@ static inline enum zone_type page_cgroup_zid(struct page_cgroup *pc) return page_zonenum(pc->page); } -static inline void lock_page_cgroup(struct page_cgroup *pc) +static inline void __lock_page_cgroup(struct page_cgroup *pc) { bit_spin_lock(PCG_LOCK, &pc->flags); } -static inline void unlock_page_cgroup(struct page_cgroup *pc) +static inline void __unlock_page_cgroup(struct page_cgroup *pc) { bit_spin_unlock(PCG_LOCK, &pc->flags); } +#define lock_page_cgroup(pc, flags) \ + do { \ + local_irq_save(flags); \ + __lock_page_cgroup(pc); \ + } while (0) + +#define unlock_page_cgroup(pc, flags) \ + do { \ + __unlock_page_cgroup(pc); \ + local_irq_restore(flags); \ + } while (0) + #else /* CONFIG_CGROUP_MEM_RES_CTLR */ struct page_cgroup; diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 7fab84e..a9fd736 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1352,12 +1352,13 @@ void mem_cgroup_update_file_mapped(struct page *page, int val) { struct mem_cgroup *mem; struct page_cgroup *pc; + unsigned long flags; pc = lookup_page_cgroup(page); if (unlikely(!pc)) return; - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); mem = pc->mem_cgroup; if (!mem) goto done; @@ -1371,7 +1372,7 @@ void mem_cgroup_update_file_mapped(struct page *page, int val) __this_cpu_add(mem->stat->count[MEM_CGROUP_STAT_FILE_MAPPED], val); done: - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); } /* @@ -1705,11 +1706,12 @@ struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page) struct page_cgroup *pc; unsigned short id; swp_entry_t ent; + unsigned long flags; VM_BUG_ON(!PageLocked(page)); pc = lookup_page_cgroup(page); - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); if (PageCgroupUsed(pc)) { mem = pc->mem_cgroup; if (mem && !css_tryget(&mem->css)) @@ -1723,7 +1725,7 @@ struct mem_cgroup *try_get_mem_cgroup_from_page(struct page *page) mem = NULL; rcu_read_unlock(); } - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); return mem; } @@ -1736,13 +1738,15 @@ static void __mem_cgroup_commit_charge(struct mem_cgroup *mem, struct page_cgroup *pc, enum charge_type ctype) { + unsigned long flags; + /* try_charge() can return NULL to *memcg, taking care of it. */ if (!mem) return; - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); if (unlikely(PageCgroupUsed(pc))) { - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); mem_cgroup_cancel_charge(mem); return; } @@ -1772,7 +1776,7 @@ static void __mem_cgroup_commit_charge(struct mem_cgroup *mem, mem_cgroup_charge_statistics(mem, pc, true); - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); /* * "charge_statistics" updated event counter. Then, check it. * Insert ancestor (and ancestor's ancestors), to softlimit RB-tree. @@ -1842,12 +1846,13 @@ static int mem_cgroup_move_account(struct page_cgroup *pc, struct mem_cgroup *from, struct mem_cgroup *to, bool uncharge) { int ret = -EINVAL; - lock_page_cgroup(pc); + unsigned long flags; + lock_page_cgroup(pc, flags); if (PageCgroupUsed(pc) && pc->mem_cgroup == from) { __mem_cgroup_move_account(pc, from, to, uncharge); ret = 0; } - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); /* * check events */ @@ -1974,17 +1979,17 @@ int mem_cgroup_cache_charge(struct page *page, struct mm_struct *mm, */ if (!(gfp_mask & __GFP_WAIT)) { struct page_cgroup *pc; - + unsigned long flags; pc = lookup_page_cgroup(page); if (!pc) return 0; - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); if (PageCgroupUsed(pc)) { - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); return 0; } - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); } if (unlikely(!mm && !mem)) @@ -2166,6 +2171,7 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype) struct page_cgroup *pc; struct mem_cgroup *mem = NULL; struct mem_cgroup_per_zone *mz; + unsigned long flags; if (mem_cgroup_disabled()) return NULL; @@ -2180,7 +2186,7 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype) if (unlikely(!pc || !PageCgroupUsed(pc))) return NULL; - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); mem = pc->mem_cgroup; @@ -2219,7 +2225,7 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype) */ mz = page_cgroup_zoneinfo(pc); - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); memcg_check_events(mem, page); /* at swapout, this memcg will be accessed to record to swap */ @@ -2229,7 +2235,7 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype) return mem; unlock_out: - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); return NULL; } @@ -2417,17 +2423,18 @@ int mem_cgroup_prepare_migration(struct page *page, struct mem_cgroup **ptr) struct page_cgroup *pc; struct mem_cgroup *mem = NULL; int ret = 0; + unsigned long flags; if (mem_cgroup_disabled()) return 0; pc = lookup_page_cgroup(page); - lock_page_cgroup(pc); + lock_page_cgroup(pc, flags); if (PageCgroupUsed(pc)) { mem = pc->mem_cgroup; css_get(&mem->css); } - unlock_page_cgroup(pc); + unlock_page_cgroup(pc, flags); if (mem) { ret = __mem_cgroup_try_charge(NULL, GFP_KERNEL, &mem, false); -- 1.6.3.3 -- 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>
next prev parent reply other threads:[~2010-03-09 23:01 UTC|newest] Thread overview: 220+ 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 ` Andrea Righi [this message] 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 ` 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 2010-03-11 22:27 ` Andrea Righi 2010-03-11 22:27 ` Andrea Righi [not found] ` <20100310222338.GB3009-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 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 2010-03-10 1:36 ` [PATCH -mmotm 0/5] memcg: per cgroup dirty limit (v6) Balbir Singh 2010-03-10 1:36 ` Balbir Singh [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-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 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 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 2010-03-15 14:48 ` Vivek Goyal 2010-03-15 14:48 ` Vivek Goyal [not found] ` <20100312112433.689c7294.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 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] ` <20100311184244.6735076a.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-03-11 22:20 ` Andrea Righi 2010-03-12 1:14 ` Daisuke Nishimura [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 [not found] ` <20100315143841.GE21127-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2010-03-17 22:32 ` Andrea Righi 2010-03-17 22:32 ` Andrea Righi 2010-03-17 22:32 ` Andrea Righi [not found] ` <20100311101726.f58d24e9.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-03-11 9:14 ` Peter Zijlstra 2010-03-11 22:23 ` Andrea Righi 2010-03-11 22:23 ` 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 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 [not found] ` <20100312090326.ad07c05c.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-03-12 9:58 ` Andrea Righi 2010-03-12 9:58 ` Andrea Righi 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 2010-03-14 23:26 [PATCH -mmotm 0/5] memcg: per cgroup dirty limit (v7) Andrea Righi 2010-03-14 23:26 ` [PATCH -mmotm 1/5] memcg: disable irq at page cgroup lock Andrea Righi 2010-03-14 23:26 ` Andrea Righi 2010-03-15 0:06 ` KAMEZAWA Hiroyuki 2010-03-15 0:06 ` KAMEZAWA Hiroyuki 2010-03-15 10:00 ` Andrea Righi 2010-03-15 10:00 ` Andrea Righi [not found] ` <20100315090638.ee416d93.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-03-15 10:00 ` Andrea Righi [not found] ` <1268609202-15581-2-git-send-email-arighi-vWjgImWzx8FBDgjK7y7TUQ@public.gmane.org> 2010-03-15 0:06 ` KAMEZAWA Hiroyuki 2010-03-17 7:04 ` Balbir Singh 2010-03-17 11:58 ` Balbir Singh 2010-03-17 7:04 ` Balbir Singh 2010-03-17 7:04 ` Balbir Singh 2010-03-17 11:58 ` Balbir Singh 2010-03-17 11:58 ` Balbir Singh [not found] ` <20100317115855.GS18054-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org> 2010-03-17 23:54 ` KAMEZAWA Hiroyuki 2010-03-17 23:54 ` KAMEZAWA Hiroyuki 2010-03-17 23:54 ` KAMEZAWA Hiroyuki [not found] ` <20100318085411.834e1e46.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-03-18 0:45 ` KAMEZAWA Hiroyuki 2010-03-18 4:19 ` Balbir Singh 2010-03-18 0:45 ` KAMEZAWA Hiroyuki 2010-03-18 0:45 ` KAMEZAWA Hiroyuki [not found] ` <20100318094519.cd1eed72.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-03-18 2:16 ` Daisuke Nishimura 2010-03-18 2:16 ` Daisuke Nishimura 2010-03-18 2:16 ` Daisuke Nishimura 2010-03-18 2:58 ` KAMEZAWA Hiroyuki 2010-03-18 2:58 ` KAMEZAWA Hiroyuki [not found] ` <20100318111653.92f899e6.nishimura-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org> 2010-03-18 2:58 ` KAMEZAWA Hiroyuki 2010-03-18 5:12 ` Balbir Singh 2010-03-18 5:12 ` Balbir Singh 2010-03-18 5:12 ` Balbir Singh 2010-03-18 4:19 ` Balbir Singh 2010-03-18 4:19 ` Balbir Singh 2010-03-18 4:21 ` KAMEZAWA Hiroyuki 2010-03-18 4:21 ` KAMEZAWA Hiroyuki 2010-03-18 6:25 ` Balbir Singh 2010-03-18 6:25 ` Balbir Singh [not found] ` <20100318132114.d5680e1e.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-03-18 6:25 ` Balbir Singh 2010-03-18 4:35 ` KAMEZAWA Hiroyuki 2010-03-18 4:35 ` KAMEZAWA Hiroyuki 2010-03-18 16:28 ` Balbir Singh 2010-03-18 16:28 ` Balbir Singh [not found] ` <20100318162855.GG18054-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org> 2010-03-19 1:23 ` KAMEZAWA Hiroyuki 2010-03-19 1:23 ` KAMEZAWA Hiroyuki 2010-03-19 1:23 ` KAMEZAWA Hiroyuki 2010-03-19 2:40 ` Balbir Singh 2010-03-19 2:40 ` Balbir Singh [not found] ` <20100319024039.GH18054-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org> 2010-03-19 3:00 ` KAMEZAWA Hiroyuki 2010-03-19 3:00 ` KAMEZAWA Hiroyuki 2010-03-19 3:00 ` KAMEZAWA Hiroyuki [not found] ` <xr93hbnepmj6.fsf@ninji.mtv.corp.google.com> 2010-04-14 6:55 ` Greg Thelen 2010-04-14 6:55 ` Greg Thelen 2010-04-14 9:29 ` KAMEZAWA Hiroyuki 2010-04-14 9:29 ` KAMEZAWA Hiroyuki 2010-04-14 14:04 ` Vivek Goyal 2010-04-14 14:04 ` Vivek Goyal [not found] ` <20100414140430.GB13535-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2010-04-14 19:31 ` Greg Thelen 2010-04-15 0:14 ` KAMEZAWA Hiroyuki 2010-04-14 19:31 ` Greg Thelen 2010-04-14 19:31 ` Greg Thelen 2010-04-15 0:14 ` KAMEZAWA Hiroyuki 2010-04-15 0:14 ` KAMEZAWA Hiroyuki [not found] ` <20100414182904.2f72a63d.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-04-14 14:04 ` Vivek Goyal 2010-04-14 16:22 ` Greg Thelen 2010-04-14 16:22 ` Greg Thelen 2010-04-14 16:22 ` Greg Thelen 2010-04-15 0:22 ` KAMEZAWA Hiroyuki 2010-04-15 0:22 ` KAMEZAWA Hiroyuki [not found] ` <p2k49b004811004140922v8b6c4c57j2dd435261ff2dd43-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2010-04-15 0:22 ` KAMEZAWA Hiroyuki 2010-04-14 14:05 ` Vivek Goyal 2010-04-14 14:05 ` Vivek Goyal 2010-04-14 20:14 ` Greg Thelen 2010-04-14 20:14 ` Greg Thelen [not found] ` <xr9339yxyepc.fsf-Pk7ff2FLCuk9fRMx9H/SexPsWskHk0ljAL8bYrjMMd8@public.gmane.org> 2010-04-15 2:40 ` Daisuke Nishimura 2010-04-15 2:40 ` Daisuke Nishimura 2010-04-15 2:40 ` Daisuke Nishimura 2010-04-15 4:48 ` Greg Thelen 2010-04-15 4:48 ` Greg Thelen 2010-04-15 6:21 ` Daisuke Nishimura 2010-04-15 6:21 ` Daisuke Nishimura 2010-04-15 6:38 ` Greg Thelen 2010-04-15 6:38 ` Greg Thelen [not found] ` <20100415152104.62593f37.nishimura-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org> 2010-04-15 6:38 ` Greg Thelen 2010-04-15 6:54 ` KAMEZAWA Hiroyuki 2010-04-15 6:54 ` KAMEZAWA Hiroyuki 2010-04-15 6:54 ` KAMEZAWA Hiroyuki 2010-04-23 20:17 ` Greg Thelen 2010-04-23 20:17 ` Greg Thelen 2010-04-23 20:54 ` Peter Zijlstra 2010-04-23 20:54 ` Peter Zijlstra 2010-04-24 15:53 ` Greg Thelen 2010-04-24 15:53 ` Greg Thelen 2010-04-24 15:53 ` Greg Thelen [not found] ` <xr93k4rxx6sd.fsf-Pk7ff2FLCuk9fRMx9H/SexPsWskHk0ljAL8bYrjMMd8@public.gmane.org> 2010-04-23 20:54 ` Peter Zijlstra 2010-04-23 20:57 ` Peter Zijlstra 2010-04-23 21:19 ` Peter Zijlstra 2010-04-24 2:19 ` KAMEZAWA Hiroyuki 2010-04-23 20:57 ` Peter Zijlstra 2010-04-23 20:57 ` Peter Zijlstra 2010-04-24 2:22 ` KAMEZAWA Hiroyuki 2010-04-24 2:22 ` KAMEZAWA Hiroyuki 2010-04-24 2:22 ` KAMEZAWA Hiroyuki 2010-04-23 21:19 ` Peter Zijlstra 2010-04-23 21:19 ` Peter Zijlstra 2010-04-24 2:19 ` KAMEZAWA Hiroyuki 2010-04-24 2:19 ` KAMEZAWA Hiroyuki 2010-04-23 20:17 ` Greg Thelen [not found] ` <g2u49b004811004142148i3db9fefaje1f20760426e0c7e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2010-04-15 6:21 ` Daisuke Nishimura [not found] ` <20100415114022.ef01b704.nishimura-YQH0OdQVrdy45+QrQBaojngSJqDPrsil@public.gmane.org> 2010-04-15 4:48 ` Greg Thelen [not found] ` <20100414140523.GC13535-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> 2010-04-14 20:14 ` Greg Thelen 2010-04-14 14:44 ` Balbir Singh 2010-04-14 14:44 ` Balbir Singh [not found] ` <xr931veiplpr.fsf-Pk7ff2FLCuk9fRMx9H/SexPsWskHk0ljAL8bYrjMMd8@public.gmane.org> 2010-04-14 9:29 ` KAMEZAWA Hiroyuki 2010-04-14 14:05 ` Vivek Goyal 2010-04-14 14:44 ` Balbir Singh [not found] ` <xr93hbnepmj6.fsf-Pk7ff2FLCuk9fRMx9H/SexPsWskHk0ljAL8bYrjMMd8@public.gmane.org> 2010-04-14 6:55 ` Greg Thelen [not found] ` <20100319102332.f1d81c8d.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-03-19 2:40 ` Balbir Singh [not found] ` <20100318133527.420b2f25.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> 2010-03-18 16:28 ` Balbir Singh [not found] ` <20100318041944.GA18054-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org> 2010-03-18 4:21 ` KAMEZAWA Hiroyuki 2010-03-18 4:35 ` KAMEZAWA Hiroyuki [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=1268175636-4673-2-git-send-email-arighi@develer.com \ --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: linkBe 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.