All of lore.kernel.org
 help / color / mirror / Atom feed
From: Glauber Costa <glommer@parallels.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	cgroups@vger.kernel.org, devel@openvz.org,
	Johannes Weiner <hannes@cmpxchg.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	kamezawa.hiroyu@jp.fujitsu.com, Christoph Lameter <cl@linux.com>,
	David Rientjes <rientjes@google.com>,
	Pekka Enberg <penberg@kernel.org>,
	Pekka Enberg <penberg@cs.helsinki.fi>
Subject: Re: [PATCH v2 06/11] memcg: kmem controller infrastructure
Date: Wed, 15 Aug 2012 13:42:24 +0400	[thread overview]
Message-ID: <502B6F00.8040207@parallels.com> (raw)
In-Reply-To: <20120814172540.GD6905@dhcp22.suse.cz>


>> + * memcg_kmem_new_page: verify if a new kmem allocation is allowed.
>> + * @gfp: the gfp allocation flags.
>> + * @handle: a pointer to the memcg this was charged against.
>> + * @order: allocation order.
>> + *
>> + * returns true if the memcg where the current task belongs can hold this
>> + * allocation.
>> + *
>> + * We return true automatically if this allocation is not to be accounted to
>> + * any memcg.
>> + */
>> +static __always_inline bool
>> +memcg_kmem_new_page(gfp_t gfp, void *handle, int order)
>> +{
>> +	if (!memcg_kmem_on)
>> +		return true;
>> +	if (!(gfp & __GFP_KMEMCG) || (gfp & __GFP_NOFAIL))
> 
> OK, I see the point behind __GFP_NOFAIL but it would deserve a comment
> or a mention in the changelog.

documentation can't hurt!

Just added.

> [...]
>> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
>> index 54e93de..e9824c1 100644
>> --- a/mm/memcontrol.c
>> +++ b/mm/memcontrol.c
> [...]
>> +EXPORT_SYMBOL(__memcg_kmem_new_page);
> 
> Why is this exported?
> 

It shouldn't be. Removed.

>> +
>> +void __memcg_kmem_commit_page(struct page *page, void *handle, int order)
>> +{
>> +	struct page_cgroup *pc;
>> +	struct mem_cgroup *memcg = handle;
>> +
>> +	if (!memcg)
>> +		return;
>> +
>> +	WARN_ON(mem_cgroup_is_root(memcg));
>> +	/* The page allocation must have failed. Revert */
>> +	if (!page) {
>> +		size_t size = PAGE_SIZE << order;
>> +
>> +		memcg_uncharge_kmem(memcg, size);
>> +		mem_cgroup_put(memcg);
>> +		return;
>> +	}
>> +
>> +	pc = lookup_page_cgroup(page);
>> +	lock_page_cgroup(pc);
>> +	pc->mem_cgroup = memcg;
>> +	SetPageCgroupUsed(pc);
> 
> Don't we need a write barrier before assigning memcg? Same as
> __mem_cgroup_commit_charge. This tests the Used bit always from within
> lock_page_cgroup so it should be safe but I am not 100% sure about the
> rest of the code.
> 
Well, I don't see the reason, precisely because we'll always grab it
from within the locked region. That should ensure all the necessary
serialization.

>> +#ifdef CONFIG_MEMCG_KMEM
>> +int memcg_charge_kmem(struct mem_cgroup *memcg, gfp_t gfp, s64 delta)
>> +{
>> +	struct res_counter *fail_res;
>> +	struct mem_cgroup *_memcg;
>> +	int ret;
>> +	bool may_oom;
>> +	bool nofail = false;
>> +
>> +	may_oom = (gfp & __GFP_WAIT) && (gfp & __GFP_FS) &&
>> +	    !(gfp & __GFP_NORETRY);
> 
> This deserves a comment.
> 
can't hurt!! =)

>> +
>> +	ret = 0;
>> +
>> +	if (!memcg)
>> +		return ret;
>> +
>> +	_memcg = memcg;
>> +	ret = __mem_cgroup_try_charge(NULL, gfp, delta / PAGE_SIZE,
>> +	    &_memcg, may_oom);
> 
> This is really dangerous because atomic allocation which seem to be
> possible could result in deadlocks because of the reclaim. 

Can you elaborate on how this would happen?

> Also, as I
> have mentioned in the other email in this thread. Why should we reclaim
> just because of kernel allocation when we are not reclaiming any of it
> because shrink_slab is ignored in the memcg reclaim.


Don't get too distracted by the fact that shrink_slab is ignored. It is
temporary, and while this being ignored now leads to suboptimal
behavior, it will 1st, only affect its users, and 2nd, not be disastrous.

I see it this as more or less on pair with the soft limit reclaim
problem we had. It is not ideal, but it already provided functionality

>> +
>> +	if (ret == -EINTR)  {
>> +		nofail = true;
>> +		/*
>> +		 * __mem_cgroup_try_charge() chosed to bypass to root due to
>> +		 * OOM kill or fatal signal.  Since our only options are to
>> +		 * either fail the allocation or charge it to this cgroup, do
>> +		 * it as a temporary condition. But we can't fail. From a
>> +		 * kmem/slab perspective, the cache has already been selected,
>> +		 * by mem_cgroup_get_kmem_cache(), so it is too late to change
>> +		 * our minds
>> +		 */
>> +		res_counter_charge_nofail(&memcg->res, delta, &fail_res);
>> +		if (do_swap_account)
>> +			res_counter_charge_nofail(&memcg->memsw, delta,
>> +						  &fail_res);
> 
> Hmmm, this is kind of ugly but I guess unvoidable with the current
> implementation. Oh well...
> 

Oh well...

--
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>

WARNING: multiple messages have this Message-ID (diff)
From: Glauber Costa <glommer@parallels.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: <linux-kernel@vger.kernel.org>, <linux-mm@kvack.org>,
	<cgroups@vger.kernel.org>, <devel@openvz.org>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	<kamezawa.hiroyu@jp.fujitsu.com>,
	Christoph Lameter <cl@linux.com>,
	"David Rientjes" <rientjes@google.com>,
	Pekka Enberg <penberg@kernel.org>,
	"Pekka Enberg" <penberg@cs.helsinki.fi>
Subject: Re: [PATCH v2 06/11] memcg: kmem controller infrastructure
Date: Wed, 15 Aug 2012 13:42:24 +0400	[thread overview]
Message-ID: <502B6F00.8040207@parallels.com> (raw)
In-Reply-To: <20120814172540.GD6905@dhcp22.suse.cz>


>> + * memcg_kmem_new_page: verify if a new kmem allocation is allowed.
>> + * @gfp: the gfp allocation flags.
>> + * @handle: a pointer to the memcg this was charged against.
>> + * @order: allocation order.
>> + *
>> + * returns true if the memcg where the current task belongs can hold this
>> + * allocation.
>> + *
>> + * We return true automatically if this allocation is not to be accounted to
>> + * any memcg.
>> + */
>> +static __always_inline bool
>> +memcg_kmem_new_page(gfp_t gfp, void *handle, int order)
>> +{
>> +	if (!memcg_kmem_on)
>> +		return true;
>> +	if (!(gfp & __GFP_KMEMCG) || (gfp & __GFP_NOFAIL))
> 
> OK, I see the point behind __GFP_NOFAIL but it would deserve a comment
> or a mention in the changelog.

documentation can't hurt!

Just added.

> [...]
>> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
>> index 54e93de..e9824c1 100644
>> --- a/mm/memcontrol.c
>> +++ b/mm/memcontrol.c
> [...]
>> +EXPORT_SYMBOL(__memcg_kmem_new_page);
> 
> Why is this exported?
> 

It shouldn't be. Removed.

>> +
>> +void __memcg_kmem_commit_page(struct page *page, void *handle, int order)
>> +{
>> +	struct page_cgroup *pc;
>> +	struct mem_cgroup *memcg = handle;
>> +
>> +	if (!memcg)
>> +		return;
>> +
>> +	WARN_ON(mem_cgroup_is_root(memcg));
>> +	/* The page allocation must have failed. Revert */
>> +	if (!page) {
>> +		size_t size = PAGE_SIZE << order;
>> +
>> +		memcg_uncharge_kmem(memcg, size);
>> +		mem_cgroup_put(memcg);
>> +		return;
>> +	}
>> +
>> +	pc = lookup_page_cgroup(page);
>> +	lock_page_cgroup(pc);
>> +	pc->mem_cgroup = memcg;
>> +	SetPageCgroupUsed(pc);
> 
> Don't we need a write barrier before assigning memcg? Same as
> __mem_cgroup_commit_charge. This tests the Used bit always from within
> lock_page_cgroup so it should be safe but I am not 100% sure about the
> rest of the code.
> 
Well, I don't see the reason, precisely because we'll always grab it
from within the locked region. That should ensure all the necessary
serialization.

>> +#ifdef CONFIG_MEMCG_KMEM
>> +int memcg_charge_kmem(struct mem_cgroup *memcg, gfp_t gfp, s64 delta)
>> +{
>> +	struct res_counter *fail_res;
>> +	struct mem_cgroup *_memcg;
>> +	int ret;
>> +	bool may_oom;
>> +	bool nofail = false;
>> +
>> +	may_oom = (gfp & __GFP_WAIT) && (gfp & __GFP_FS) &&
>> +	    !(gfp & __GFP_NORETRY);
> 
> This deserves a comment.
> 
can't hurt!! =)

>> +
>> +	ret = 0;
>> +
>> +	if (!memcg)
>> +		return ret;
>> +
>> +	_memcg = memcg;
>> +	ret = __mem_cgroup_try_charge(NULL, gfp, delta / PAGE_SIZE,
>> +	    &_memcg, may_oom);
> 
> This is really dangerous because atomic allocation which seem to be
> possible could result in deadlocks because of the reclaim. 

Can you elaborate on how this would happen?

> Also, as I
> have mentioned in the other email in this thread. Why should we reclaim
> just because of kernel allocation when we are not reclaiming any of it
> because shrink_slab is ignored in the memcg reclaim.


Don't get too distracted by the fact that shrink_slab is ignored. It is
temporary, and while this being ignored now leads to suboptimal
behavior, it will 1st, only affect its users, and 2nd, not be disastrous.

I see it this as more or less on pair with the soft limit reclaim
problem we had. It is not ideal, but it already provided functionality

>> +
>> +	if (ret == -EINTR)  {
>> +		nofail = true;
>> +		/*
>> +		 * __mem_cgroup_try_charge() chosed to bypass to root due to
>> +		 * OOM kill or fatal signal.  Since our only options are to
>> +		 * either fail the allocation or charge it to this cgroup, do
>> +		 * it as a temporary condition. But we can't fail. From a
>> +		 * kmem/slab perspective, the cache has already been selected,
>> +		 * by mem_cgroup_get_kmem_cache(), so it is too late to change
>> +		 * our minds
>> +		 */
>> +		res_counter_charge_nofail(&memcg->res, delta, &fail_res);
>> +		if (do_swap_account)
>> +			res_counter_charge_nofail(&memcg->memsw, delta,
>> +						  &fail_res);
> 
> Hmmm, this is kind of ugly but I guess unvoidable with the current
> implementation. Oh well...
> 

Oh well...


  reply	other threads:[~2012-08-15  9:42 UTC|newest]

Thread overview: 352+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-09 13:01 [PATCH v2 00/11] Request for Inclusion: kmem controller for memcg Glauber Costa
2012-08-09 13:01 ` Glauber Costa
2012-08-09 13:01 ` Glauber Costa
     [not found] ` <1344517279-30646-1-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-09 13:01   ` [PATCH v2 01/11] memcg: Make it possible to use the stock for more than one page Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-10 15:12     ` Michal Hocko
2012-08-10 15:12       ` Michal Hocko
2012-08-09 13:01   ` [PATCH v2 02/11] memcg: Reclaim when more than one page needed Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
     [not found]     ` <1344517279-30646-3-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-10 15:42       ` Michal Hocko
2012-08-10 15:42         ` Michal Hocko
2012-08-10 15:42         ` Michal Hocko
     [not found]         ` <20120810154240.GG1425-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-10 16:49           ` Kamezawa Hiroyuki
2012-08-10 16:49             ` Kamezawa Hiroyuki
2012-08-10 16:49             ` Kamezawa Hiroyuki
     [not found]             ` <50253B95.7010905-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-08-10 17:28               ` Michal Hocko
2012-08-10 17:28                 ` Michal Hocko
2012-08-10 17:28                 ` Michal Hocko
2012-08-10 17:56                 ` Kamezawa Hiroyuki
2012-08-10 17:56                   ` Kamezawa Hiroyuki
2012-08-10 17:30       ` Michal Hocko
2012-08-10 17:30         ` Michal Hocko
2012-08-10 17:30         ` Michal Hocko
     [not found]         ` <20120810173000.GB14591-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-10 18:52           ` Michal Hocko
2012-08-10 18:52             ` Michal Hocko
2012-08-10 18:52             ` Michal Hocko
2012-08-10 18:54       ` Michal Hocko
2012-08-10 18:54         ` Michal Hocko
2012-08-10 18:54         ` Michal Hocko
     [not found]         ` <20120810185417.GB16110-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-13  8:05           ` Glauber Costa
2012-08-13  8:05             ` Glauber Costa
2012-08-13  8:05             ` Glauber Costa
     [not found]             ` <5028B552.2070708-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-13 13:10               ` Michal Hocko
2012-08-13 13:10                 ` Michal Hocko
2012-08-13 13:10                 ` Michal Hocko
2012-08-09 13:01   ` [PATCH v2 03/11] memcg: change defines to an enum Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
     [not found]     ` <1344517279-30646-4-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-10 15:43       ` Michal Hocko
2012-08-10 15:43         ` Michal Hocko
2012-08-10 15:43         ` Michal Hocko
2012-08-09 13:01   ` [PATCH v2 04/11] kmem accounting basic infrastructure Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
     [not found]     ` <1344517279-30646-5-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-10 17:02       ` Kamezawa Hiroyuki
2012-08-10 17:02         ` Kamezawa Hiroyuki
2012-08-10 17:02         ` Kamezawa Hiroyuki
     [not found]         ` <50253EA8.9080205-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-08-13  8:36           ` Glauber Costa
2012-08-13  8:36             ` Glauber Costa
2012-08-13  8:36             ` Glauber Costa
2012-08-17  2:38             ` Kamezawa Hiroyuki
2012-08-17  2:38               ` Kamezawa Hiroyuki
2012-08-14 16:21     ` Michal Hocko
2012-08-14 16:21       ` Michal Hocko
2012-08-15  9:33       ` Glauber Costa
2012-08-15  9:33         ` Glauber Costa
     [not found]         ` <502B6D03.1080804-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-15 11:12           ` James Bottomley
2012-08-15 11:12             ` James Bottomley
2012-08-15 11:12             ` James Bottomley
     [not found]             ` <1345029143.2976.41.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2012-08-15 12:55               ` Michal Hocko
2012-08-15 12:55                 ` Michal Hocko
2012-08-15 12:55                 ` Michal Hocko
2012-08-15 13:29                 ` James Bottomley
2012-08-15 13:29                   ` James Bottomley
2012-08-15 12:39           ` Michal Hocko
2012-08-15 12:39             ` Michal Hocko
2012-08-15 12:39             ` Michal Hocko
     [not found]             ` <20120815123931.GF23985-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-15 12:53               ` Glauber Costa
2012-08-15 12:53                 ` Glauber Costa
2012-08-15 12:53                 ` Glauber Costa
     [not found]                 ` <502B9BD4.4070003-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-15 13:02                   ` Michal Hocko
2012-08-15 13:02                     ` Michal Hocko
2012-08-15 13:02                     ` Michal Hocko
     [not found]                     ` <20120815130228.GH23985-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-15 13:04                       ` Glauber Costa
2012-08-15 13:04                         ` Glauber Costa
2012-08-15 13:04                         ` Glauber Costa
     [not found]                         ` <502B9E5F.2080907-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-15 13:26                           ` Michal Hocko
2012-08-15 13:26                             ` Michal Hocko
2012-08-15 13:26                             ` Michal Hocko
     [not found]                             ` <20120815132621.GJ23985-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-15 13:31                               ` Glauber Costa
2012-08-15 13:31                                 ` Glauber Costa
2012-08-15 13:31                                 ` Glauber Costa
     [not found]                                 ` <502BA4AC.9040000-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-15 14:10                                   ` Michal Hocko
2012-08-15 14:10                                     ` Michal Hocko
2012-08-15 14:10                                     ` Michal Hocko
     [not found]                                     ` <20120815141041.GK23985-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-15 14:11                                       ` Glauber Costa
2012-08-15 14:11                                         ` Glauber Costa
2012-08-15 14:11                                         ` Glauber Costa
2012-08-15 14:47             ` Christoph Lameter
2012-08-15 14:47               ` Christoph Lameter
     [not found]               ` <000001392ac15404-43a3fd2c-a6d3-4985-b173-74bb586ad47c-000000-p/GC64/jrecnJqMo6gzdpkEOCMrvLtNR@public.gmane.org>
2012-08-15 15:11                 ` Glauber Costa
2012-08-15 15:11                   ` Glauber Costa
2012-08-15 15:11                   ` Glauber Costa
2012-08-15 15:34                   ` Christoph Lameter
2012-08-15 15:34                     ` Christoph Lameter
     [not found]                     ` <000001392aec1926-72b3a631-1fb1-460c-803d-38c4405151e1-000000-p/GC64/jrecnJqMo6gzdpkEOCMrvLtNR@public.gmane.org>
2012-08-15 15:35                       ` Glauber Costa
2012-08-15 15:35                         ` Glauber Costa
2012-08-15 15:35                         ` Glauber Costa
     [not found]                         ` <502BC1B1.3010807-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-15 17:26                           ` Christoph Lameter
2012-08-15 17:26                             ` Christoph Lameter
2012-08-15 17:26                             ` Christoph Lameter
2012-08-15 18:11                       ` Ying Han
2012-08-15 18:11                         ` Ying Han
2012-08-15 18:11                         ` Ying Han
     [not found]                         ` <CALWz4ixv8wfOqQ34CBLQ1jVdWoQc4-hQRkeRTb6U5x93gxjZZw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-15 18:25                           ` Christoph Lameter
2012-08-15 18:25                             ` Christoph Lameter
2012-08-15 18:25                             ` Christoph Lameter
     [not found]                             ` <000001392b881bf0-4cf7cb93-c142-4ddb-960a-b35390caca0f-000000-p/GC64/jrecnJqMo6gzdpkEOCMrvLtNR@public.gmane.org>
2012-08-15 19:22                               ` Glauber Costa
2012-08-15 19:22                                 ` Glauber Costa
2012-08-15 19:22                                 ` Glauber Costa
2012-08-15 18:07                   ` Ying Han
2012-08-15 18:07                     ` Ying Han
2012-08-15 15:19               ` Greg Thelen
2012-08-15 15:19                 ` Greg Thelen
2012-08-15 15:36                 ` Christoph Lameter
2012-08-15 15:36                   ` Christoph Lameter
2012-08-15 18:01             ` Ying Han
2012-08-15 18:01               ` Ying Han
     [not found]               ` <CALWz4ixYXN9FGJ1E9CZ9viJ=s3k63Pm8t3nakQvi+1T5qtyFYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-15 18:00                 ` Glauber Costa
2012-08-15 18:00                   ` Glauber Costa
2012-08-15 18:00                   ` Glauber Costa
2012-08-15 19:50       ` Ying Han
2012-08-15 19:50         ` Ying Han
     [not found]         ` <CALWz4iwgnqwq5k_zhpsiiwrj8Y=OkCUg7H96khJWPZScSQE=nw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-16 15:25           ` Michal Hocko
2012-08-16 15:25             ` Michal Hocko
2012-08-16 15:25             ` Michal Hocko
2012-08-17  5:58             ` Ying Han
2012-08-17  5:58               ` Ying Han
2012-08-09 13:01   ` [PATCH v2 05/11] Add a __GFP_KMEMCG flag Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
     [not found]     ` <1344517279-30646-6-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-10 17:07       ` Kamezawa Hiroyuki
2012-08-10 17:07         ` Kamezawa Hiroyuki
2012-08-10 17:07         ` Kamezawa Hiroyuki
2012-08-09 13:01   ` [PATCH v2 06/11] memcg: kmem controller infrastructure Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-11  5:11     ` Greg Thelen
2012-08-11  5:11       ` Greg Thelen
2012-08-13  8:07       ` Glauber Costa
2012-08-13  8:07         ` Glauber Costa
2012-08-13  9:59       ` Glauber Costa
2012-08-13  9:59         ` Glauber Costa
2012-08-13 21:21         ` Greg Thelen
2012-08-13 21:21           ` Greg Thelen
     [not found]     ` <1344517279-30646-7-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-10 17:27       ` Kamezawa Hiroyuki
2012-08-10 17:27         ` Kamezawa Hiroyuki
2012-08-10 17:27         ` Kamezawa Hiroyuki
2012-08-13  8:28         ` Glauber Costa
2012-08-13  8:28           ` Glauber Costa
2012-08-14 18:58           ` Greg Thelen
2012-08-14 18:58             ` Greg Thelen
     [not found]             ` <xr93ipcl9u7x.fsf-aSPv4SP+Du0KgorLzL7FmE7CuiCeIGUxQQ4Iyu8u01E@public.gmane.org>
2012-08-15  9:18               ` Glauber Costa
2012-08-15  9:18                 ` Glauber Costa
2012-08-15  9:18                 ` Glauber Costa
2012-08-15 16:38                 ` Greg Thelen
2012-08-15 16:38                   ` Greg Thelen
     [not found]                   ` <xr93wr109kke.fsf-aSPv4SP+Du0KgorLzL7FmE7CuiCeIGUxQQ4Iyu8u01E@public.gmane.org>
2012-08-15 17:00                     ` Glauber Costa
2012-08-15 17:00                       ` Glauber Costa
2012-08-15 17:00                       ` Glauber Costa
2012-08-15 17:12                       ` Greg Thelen
2012-08-15 17:12                         ` Greg Thelen
2012-08-15 17:12                         ` Greg Thelen
     [not found]                         ` <xr93lihg9j0q.fsf-aSPv4SP+Du0KgorLzL7FmE7CuiCeIGUxQQ4Iyu8u01E@public.gmane.org>
2012-08-15 19:31                           ` Glauber Costa
2012-08-15 19:31                             ` Glauber Costa
2012-08-15 19:31                             ` Glauber Costa
     [not found]                             ` <502BF916.10902-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-16  3:37                               ` Greg Thelen
2012-08-16  3:37                                 ` Greg Thelen
2012-08-16  3:37                                 ` Greg Thelen
     [not found]                                 ` <xr93zk5vecde.fsf-aSPv4SP+Du0KgorLzL7FmE7CuiCeIGUxQQ4Iyu8u01E@public.gmane.org>
2012-08-16  7:47                                   ` Glauber Costa
2012-08-16  7:47                                     ` Glauber Costa
2012-08-16  7:47                                     ` Glauber Costa
2012-08-20 13:36                       ` Kamezawa Hiroyuki
2012-08-20 13:36                         ` Kamezawa Hiroyuki
2012-08-20 15:29                         ` Glauber Costa
2012-08-20 15:29                           ` Glauber Costa
2012-08-20 15:29                           ` Glauber Costa
     [not found]           ` <5028BA9E.7000302-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-17  2:36             ` Kamezawa Hiroyuki
2012-08-17  2:36               ` Kamezawa Hiroyuki
2012-08-17  2:36               ` Kamezawa Hiroyuki
     [not found]               ` <502DAE2A.1000404-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-08-17  7:04                 ` Glauber Costa
2012-08-17  7:04                   ` Glauber Costa
2012-08-17  7:04                   ` Glauber Costa
2012-08-14 11:00         ` Glauber Costa
2012-08-14 11:00           ` Glauber Costa
2012-08-14 17:25       ` Michal Hocko
2012-08-14 17:25         ` Michal Hocko
2012-08-14 17:25         ` Michal Hocko
2012-08-15  9:42         ` Glauber Costa [this message]
2012-08-15  9:42           ` Glauber Costa
2012-08-15 10:44           ` Glauber Costa
2012-08-15 10:44             ` Glauber Costa
     [not found]           ` <502B6F00.8040207-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-15 13:09             ` Michal Hocko
2012-08-15 13:09               ` Michal Hocko
2012-08-15 13:09               ` Michal Hocko
2012-08-15 14:01               ` Glauber Costa
2012-08-15 14:01                 ` Glauber Costa
     [not found]                 ` <502BABCF.7020608-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-15 14:23                   ` Michal Hocko
2012-08-15 14:23                     ` Michal Hocko
2012-08-15 14:23                     ` Michal Hocko
2012-08-15 14:27                     ` Glauber Costa
2012-08-15 14:27                       ` Glauber Costa
2012-08-16  9:53                       ` Michal Hocko
2012-08-16  9:53                         ` Michal Hocko
     [not found]                         ` <20120816095309.GB2817-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-16  9:57                           ` Glauber Costa
2012-08-16  9:57                             ` Glauber Costa
2012-08-16  9:57                             ` Glauber Costa
2012-08-16 15:05                             ` Michal Hocko
2012-08-16 15:05                               ` Michal Hocko
2012-08-16 15:22                               ` Glauber Costa
2012-08-16 15:22                                 ` Glauber Costa
2012-08-21 21:50     ` Greg Thelen
2012-08-21 21:50       ` Greg Thelen
2012-08-22  8:35       ` Glauber Costa
2012-08-22  8:35         ` Glauber Costa
     [not found]         ` <503499CC.7070704-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-23  0:07           ` Greg Thelen
2012-08-23  0:07             ` Greg Thelen
2012-08-23  0:07             ` Greg Thelen
     [not found]             ` <xr93boi2v5bi.fsf-aSPv4SP+Du0KgorLzL7FmE7CuiCeIGUxQQ4Iyu8u01E@public.gmane.org>
2012-08-23  7:51               ` Glauber Costa
2012-08-23  7:51                 ` Glauber Costa
2012-08-23  7:51                 ` Glauber Costa
2012-08-09 13:01   ` [PATCH v2 07/11] mm: Allocate kernel pages to the right memcg Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-10 17:36     ` Greg Thelen
2012-08-10 17:36       ` Greg Thelen
2012-08-10 17:36       ` Greg Thelen
2012-08-13  8:02       ` Glauber Costa
2012-08-13  8:02         ` Glauber Costa
     [not found]     ` <1344517279-30646-8-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-09 16:33       ` Greg Thelen
2012-08-09 16:33         ` Greg Thelen
2012-08-09 16:33         ` Greg Thelen
     [not found]         ` <xr93boikgh4w.fsf-aSPv4SP+Du0KgorLzL7FmE7CuiCeIGUxQQ4Iyu8u01E@public.gmane.org>
2012-08-09 16:42           ` Glauber Costa
2012-08-09 16:42             ` Glauber Costa
2012-08-09 16:42             ` Glauber Costa
2012-08-10 17:33       ` Kamezawa Hiroyuki
2012-08-10 17:33         ` Kamezawa Hiroyuki
2012-08-10 17:33         ` Kamezawa Hiroyuki
     [not found]         ` <502545D2.80708-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-08-13  8:03           ` Glauber Costa
2012-08-13  8:03             ` Glauber Costa
2012-08-13  8:03             ` Glauber Costa
2012-08-13  8:57             ` Mel Gorman
2012-08-13  8:57               ` Mel Gorman
2012-08-14 15:16       ` Mel Gorman
2012-08-14 15:16         ` Mel Gorman
2012-08-14 15:16         ` Mel Gorman
2012-08-15  9:08         ` Glauber Costa
2012-08-15  9:08           ` Glauber Costa
     [not found]           ` <502B66F8.30909-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-15 13:22             ` Mel Gorman
2012-08-15 13:22               ` Mel Gorman
2012-08-15 13:22               ` Mel Gorman
2012-08-15 13:39               ` Glauber Costa
2012-08-15 13:39                 ` Glauber Costa
     [not found]               ` <20120815132244.GQ4177-l3A5Bk7waGM@public.gmane.org>
2012-08-15 13:51                 ` Glauber Costa
2012-08-15 13:51                   ` Glauber Costa
2012-08-15 13:51                   ` Glauber Costa
2012-08-15  9:24       ` Michal Hocko
2012-08-15  9:24         ` Michal Hocko
2012-08-15  9:24         ` Michal Hocko
2012-08-09 13:01   ` [PATCH v2 08/11] memcg: disable kmem code when not in use Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-17  7:02     ` Michal Hocko
2012-08-17  7:02       ` Michal Hocko
2012-08-17  7:01       ` Glauber Costa
2012-08-17  7:01         ` Glauber Costa
2012-08-17  8:04         ` Michal Hocko
2012-08-17  8:04           ` Michal Hocko
2012-08-09 13:01   ` [PATCH v2 09/11] memcg: propagate kmem limiting information to children Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
     [not found]     ` <1344517279-30646-10-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-10 17:51       ` Kamezawa Hiroyuki
2012-08-10 17:51         ` Kamezawa Hiroyuki
2012-08-10 17:51         ` Kamezawa Hiroyuki
     [not found]         ` <50254A0A.3080805-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-08-13  8:01           ` Glauber Costa
2012-08-13  8:01             ` Glauber Costa
2012-08-13  8:01             ` Glauber Costa
2012-08-17  9:00     ` Michal Hocko
2012-08-17  9:00       ` Michal Hocko
2012-08-17  9:15       ` Glauber Costa
2012-08-17  9:15         ` Glauber Costa
2012-08-17  9:35         ` Michal Hocko
2012-08-17  9:35           ` Michal Hocko
     [not found]           ` <20120817093504.GE18600-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-17 10:07             ` Glauber Costa
2012-08-17 10:07               ` Glauber Costa
2012-08-17 10:07               ` Glauber Costa
     [not found]               ` <502E17C4.7060204-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-17 10:35                 ` Michal Hocko
2012-08-17 10:35                   ` Michal Hocko
2012-08-17 10:35                   ` Michal Hocko
2012-08-17 10:36                   ` Glauber Costa
2012-08-17 10:36                     ` Glauber Costa
     [not found]                     ` <502E1E90.1080805-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-21  7:54                       ` Michal Hocko
2012-08-21  7:54                         ` Michal Hocko
2012-08-21  7:54                         ` Michal Hocko
2012-08-21  8:35                         ` Michal Hocko
2012-08-21  8:35                           ` Michal Hocko
2012-08-21  9:17                           ` Glauber Costa
2012-08-21  9:17                             ` Glauber Costa
     [not found]                         ` <20120821075430.GA19797-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-21  9:22                           ` Glauber Costa
2012-08-21  9:22                             ` Glauber Costa
2012-08-21  9:22                             ` Glauber Costa
2012-08-21 10:00                             ` Michal Hocko
2012-08-21 10:00                               ` Michal Hocko
2012-08-21 10:01                               ` Glauber Costa
2012-08-21 10:01                                 ` Glauber Costa
2012-08-22  1:09                               ` Greg Thelen
2012-08-22  1:09                                 ` Greg Thelen
2012-08-22  8:22                                 ` Glauber Costa
2012-08-22  8:22                                   ` Glauber Costa
2012-08-22 23:23                                   ` Greg Thelen
2012-08-22 23:23                                     ` Greg Thelen
     [not found]                                     ` <xr93a9xmwly7.fsf-aSPv4SP+Du0KgorLzL7FmE7CuiCeIGUxQQ4Iyu8u01E@public.gmane.org>
2012-08-23  7:55                                       ` Glauber Costa
2012-08-23  7:55                                         ` Glauber Costa
2012-08-23  7:55                                         ` Glauber Costa
     [not found]                                         ` <5035E1D6.6010503-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-24  5:06                                           ` Greg Thelen
2012-08-24  5:06                                             ` Greg Thelen
2012-08-24  5:06                                             ` Greg Thelen
     [not found]                                             ` <xr93harsvpxx.fsf-aSPv4SP+Du0KgorLzL7FmE7CuiCeIGUxQQ4Iyu8u01E@public.gmane.org>
2012-08-24  5:23                                               ` Glauber Costa
2012-08-24  5:23                                                 ` Glauber Costa
2012-08-24  5:23                                                 ` Glauber Costa
     [not found]                   ` <20120817103550.GF18600-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-17 10:39                     ` Glauber Costa
2012-08-17 10:39                       ` Glauber Costa
2012-08-17 10:39                       ` Glauber Costa
2012-08-09 13:01   ` [PATCH v2 10/11] memcg: allow a memcg with kmem charges to be destructed Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
     [not found]     ` <1344517279-30646-11-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-21  8:22       ` Michal Hocko
2012-08-21  8:22         ` Michal Hocko
2012-08-21  8:22         ` Michal Hocko
2012-08-22  8:36         ` Glauber Costa
2012-08-22  8:36           ` Glauber Costa
2012-08-09 13:01   ` [PATCH v2 11/11] protect architectures where THREAD_SIZE >= PAGE_SIZE against fork bombs Glauber Costa
2012-08-09 13:01     ` Glauber Costa
2012-08-09 13:01     ` Glauber Costa
     [not found]     ` <1344517279-30646-12-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-10 17:54       ` Kamezawa Hiroyuki
2012-08-10 17:54         ` Kamezawa Hiroyuki
2012-08-10 17:54         ` Kamezawa Hiroyuki
2012-08-21  9:35     ` Michal Hocko
2012-08-21  9:35       ` Michal Hocko
     [not found]       ` <20120821093513.GD19797-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-08-21  9:40         ` Glauber Costa
2012-08-21  9:40           ` Glauber Costa
2012-08-21  9:40           ` Glauber Costa
     [not found]           ` <5033579D.5000203-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-08-21 10:57             ` Michal Hocko
2012-08-21 10:57               ` Michal Hocko
2012-08-21 10:57               ` Michal Hocko
2012-08-17 21:37 ` [PATCH v2 00/11] Request for Inclusion: kmem controller for memcg Ying Han
2012-08-17 21:37   ` Ying Han
     [not found]   ` <CALWz4iycCxuUaEeBz_b8+U13fcCLep3rvuSNUTPD8N-eZkDBrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-20  7:51     ` Glauber Costa
2012-08-20  7:51       ` Glauber Costa
2012-08-20  7:51       ` Glauber Costa

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=502B6F00.8040207@parallels.com \
    --to=glommer@parallels.com \
    --cc=akpm@linux-foundation.org \
    --cc=cgroups@vger.kernel.org \
    --cc=cl@linux.com \
    --cc=devel@openvz.org \
    --cc=hannes@cmpxchg.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.cz \
    --cc=penberg@cs.helsinki.fi \
    --cc=penberg@kernel.org \
    --cc=rientjes@google.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.