From: Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
To: Michal Hocko <mhocko-AlSwsSmVLrQ@public.gmane.org>
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
Andrew Morton
<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
Mel Gorman <mgorman-l3A5Bk7waGM@public.gmane.org>,
Suleiman Souhlal
<suleiman-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org,
Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>,
Greg Thelen <gthelen-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
devel-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org,
Frederic Weisbecker
<fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH v4 14/14] Add documentation about the kmem controller
Date: Fri, 12 Oct 2012 11:53:23 +0400 [thread overview]
Message-ID: <5077CC73.80504@parallels.com> (raw)
In-Reply-To: <20121011143559.GJ29295-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
On 10/11/2012 06:35 PM, Michal Hocko wrote:
> On Mon 08-10-12 14:06:20, Glauber Costa wrote:
>> Signed-off-by: Glauber Costa <glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
>> ---
>> Documentation/cgroups/memory.txt | 55 +++++++++++++++++++++++++++++++++++++++-
>> 1 file changed, 54 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
>> index c07f7b4..9b08548 100644
>> --- a/Documentation/cgroups/memory.txt
>> +++ b/Documentation/cgroups/memory.txt
>> @@ -71,6 +71,11 @@ Brief summary of control files.
>> memory.oom_control # set/show oom controls.
>> memory.numa_stat # show the number of memory usage per numa node
>>
>> + memory.kmem.limit_in_bytes # set/show hard limit for kernel memory
>> + memory.kmem.usage_in_bytes # show current kernel memory allocation
>> + memory.kmem.failcnt # show the number of kernel memory usage hits limits
>> + memory.kmem.max_usage_in_bytes # show max kernel memory usage recorded
>> +
>> memory.kmem.tcp.limit_in_bytes # set/show hard limit for tcp buf memory
>> memory.kmem.tcp.usage_in_bytes # show current tcp buf memory allocation
>> memory.kmem.tcp.failcnt # show the number of tcp buf memory usage hits limits
>> @@ -268,20 +273,62 @@ the amount of kernel memory used by the system. Kernel memory is fundamentally
>> different than user memory, since it can't be swapped out, which makes it
>> possible to DoS the system by consuming too much of this precious resource.
>>
>> +Kernel memory won't be accounted at all until it is limited. This allows for
>
> until limit on a group is set.
>
ok.
>> +existing setups to continue working without disruption. Note that it is
>> +possible to account it without an effective limit by setting the limits
>> +to a very high number (like RESOURCE_MAX -1page).
>
> I have brought that up in an earlier patch already. Why not just do echo
> -1 (which translates to RESOURCE_MAX internally) and be done with that.
> RESOURCE_MAX-1 sounds quite inconvenient.
>
For the case that you are limited already, and then want to unlimit,
keeping the accounting, yes, it makes sense.
>> The limit cannot be set
>> +if the cgroup have children, or if there are already tasks in the cgroup.
>
> I would start by stating that if children are accounted automatically if
> their parent is accounted already and there is no need to set a limit to
> enforce that. In fact the limit cannot be set if ....
>
ok.
>> +
>> +After a controller is first limited, it will be kept being accounted until it
>
> group is limited not the controller.
>
true, thanks.
>> +
>> Kernel memory limits are not imposed for the root cgroup. Usage for the root
>> -cgroup may or may not be accounted.
>> +cgroup may or may not be accounted. The memory used is accumulated into
>> +memory.kmem.usage_in_bytes, or in a separate counter when it makes sense.
>
> Which separate counter? Is this about tcp kmem?
>
So far, yes, this is the only case that makes sense, and the fewer the
better. In any case it exists, and I wanted to be generic.
>> +The main "kmem" counter is fed into the main counter, so kmem charges will
>> +also be visible from the user counter.
>>
>> Currently no soft limit is implemented for kernel memory. It is future work
>> to trigger slab reclaim when those limits are reached.
>>
>> 2.7.1 Current Kernel Memory resources accounted
>>
>> +* stack pages: every process consumes some stack pages. By accounting into
>> +kernel memory, we prevent new processes from being created when the kernel
>> +memory usage is too high.
>> +
>> * sockets memory pressure: some sockets protocols have memory pressure
>> thresholds. The Memory Controller allows them to be controlled individually
>> per cgroup, instead of globally.
>>
>> * tcp memory pressure: sockets memory pressure for the tcp protocol.
>>
>> +2.7.3 Common use cases
>> +
>> +Because the "kmem" counter is fed to the main user counter, kernel memory can
>> +never be limited completely independently of user memory. Say "U" is the user
>> +limit, and "K" the kernel limit. There are three possible ways limits can be
>> +set:
>> +
>> + U != 0, K = 0:
>
> K is not 0 it is unaccounted (disabled)
>
>> + This is the standard memcg limitation mechanism already present before kmem
>> + accounting. Kernel memory is completely ignored.
>> +
>> + U,K != 0, K < U:
>
> I would keep K < U
>> + Kernel memory is effectively set as a percentage of the user memory. This
>
> not a percentage it is subset of the user memory
>
Well, this is semantics. I can change, but for me it makes a lot of
sense to think of it in terms of a percentage, because it is easy to
administer. You don't actually write a percentage, which I tried to
clarify by using the term "effective set as a percentage".
>> + setup is useful in deployments where the total amount of memory per-cgroup
>> + is overcommited. Overcommiting kernel memory limits is definitely not
>> + recommended, since the box can still run out of non-reclaimable memory.
>> + In this case, the admin could set up K so that the sum of all groups is
>> + never greater than the total memory, and freely set U at the cost of his
>> + QoS.
>> +
>> + U,K != 0, K >= U:
>> + Since kmem charges will also be fed to the user counter, this setup gives
>> + the admin a unified view of memory. Reclaim will be triggered for the cgroup
>> + for both kinds of memory.
>
> This is also useful for tracking kernel memory allocation.
>
ok.
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,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>,
Suleiman Souhlal <suleiman@google.com>, Tejun Heo <tj@kernel.org>,
cgroups@vger.kernel.org, kamezawa.hiroyu@jp.fujitsu.com,
Johannes Weiner <hannes@cmpxchg.org>,
Greg Thelen <gthelen@google.com>,
devel@openvz.org, Frederic Weisbecker <fweisbec@gmail.com>
Subject: Re: [PATCH v4 14/14] Add documentation about the kmem controller
Date: Fri, 12 Oct 2012 11:53:23 +0400 [thread overview]
Message-ID: <5077CC73.80504@parallels.com> (raw)
In-Reply-To: <20121011143559.GJ29295@dhcp22.suse.cz>
On 10/11/2012 06:35 PM, Michal Hocko wrote:
> On Mon 08-10-12 14:06:20, Glauber Costa wrote:
>> Signed-off-by: Glauber Costa <glommer@parallels.com>
>> ---
>> Documentation/cgroups/memory.txt | 55 +++++++++++++++++++++++++++++++++++++++-
>> 1 file changed, 54 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
>> index c07f7b4..9b08548 100644
>> --- a/Documentation/cgroups/memory.txt
>> +++ b/Documentation/cgroups/memory.txt
>> @@ -71,6 +71,11 @@ Brief summary of control files.
>> memory.oom_control # set/show oom controls.
>> memory.numa_stat # show the number of memory usage per numa node
>>
>> + memory.kmem.limit_in_bytes # set/show hard limit for kernel memory
>> + memory.kmem.usage_in_bytes # show current kernel memory allocation
>> + memory.kmem.failcnt # show the number of kernel memory usage hits limits
>> + memory.kmem.max_usage_in_bytes # show max kernel memory usage recorded
>> +
>> memory.kmem.tcp.limit_in_bytes # set/show hard limit for tcp buf memory
>> memory.kmem.tcp.usage_in_bytes # show current tcp buf memory allocation
>> memory.kmem.tcp.failcnt # show the number of tcp buf memory usage hits limits
>> @@ -268,20 +273,62 @@ the amount of kernel memory used by the system. Kernel memory is fundamentally
>> different than user memory, since it can't be swapped out, which makes it
>> possible to DoS the system by consuming too much of this precious resource.
>>
>> +Kernel memory won't be accounted at all until it is limited. This allows for
>
> until limit on a group is set.
>
ok.
>> +existing setups to continue working without disruption. Note that it is
>> +possible to account it without an effective limit by setting the limits
>> +to a very high number (like RESOURCE_MAX -1page).
>
> I have brought that up in an earlier patch already. Why not just do echo
> -1 (which translates to RESOURCE_MAX internally) and be done with that.
> RESOURCE_MAX-1 sounds quite inconvenient.
>
For the case that you are limited already, and then want to unlimit,
keeping the accounting, yes, it makes sense.
>> The limit cannot be set
>> +if the cgroup have children, or if there are already tasks in the cgroup.
>
> I would start by stating that if children are accounted automatically if
> their parent is accounted already and there is no need to set a limit to
> enforce that. In fact the limit cannot be set if ....
>
ok.
>> +
>> +After a controller is first limited, it will be kept being accounted until it
>
> group is limited not the controller.
>
true, thanks.
>> +
>> Kernel memory limits are not imposed for the root cgroup. Usage for the root
>> -cgroup may or may not be accounted.
>> +cgroup may or may not be accounted. The memory used is accumulated into
>> +memory.kmem.usage_in_bytes, or in a separate counter when it makes sense.
>
> Which separate counter? Is this about tcp kmem?
>
So far, yes, this is the only case that makes sense, and the fewer the
better. In any case it exists, and I wanted to be generic.
>> +The main "kmem" counter is fed into the main counter, so kmem charges will
>> +also be visible from the user counter.
>>
>> Currently no soft limit is implemented for kernel memory. It is future work
>> to trigger slab reclaim when those limits are reached.
>>
>> 2.7.1 Current Kernel Memory resources accounted
>>
>> +* stack pages: every process consumes some stack pages. By accounting into
>> +kernel memory, we prevent new processes from being created when the kernel
>> +memory usage is too high.
>> +
>> * sockets memory pressure: some sockets protocols have memory pressure
>> thresholds. The Memory Controller allows them to be controlled individually
>> per cgroup, instead of globally.
>>
>> * tcp memory pressure: sockets memory pressure for the tcp protocol.
>>
>> +2.7.3 Common use cases
>> +
>> +Because the "kmem" counter is fed to the main user counter, kernel memory can
>> +never be limited completely independently of user memory. Say "U" is the user
>> +limit, and "K" the kernel limit. There are three possible ways limits can be
>> +set:
>> +
>> + U != 0, K = 0:
>
> K is not 0 it is unaccounted (disabled)
>
>> + This is the standard memcg limitation mechanism already present before kmem
>> + accounting. Kernel memory is completely ignored.
>> +
>> + U,K != 0, K < U:
>
> I would keep K < U
>> + Kernel memory is effectively set as a percentage of the user memory. This
>
> not a percentage it is subset of the user memory
>
Well, this is semantics. I can change, but for me it makes a lot of
sense to think of it in terms of a percentage, because it is easy to
administer. You don't actually write a percentage, which I tried to
clarify by using the term "effective set as a percentage".
>> + setup is useful in deployments where the total amount of memory per-cgroup
>> + is overcommited. Overcommiting kernel memory limits is definitely not
>> + recommended, since the box can still run out of non-reclaimable memory.
>> + In this case, the admin could set up K so that the sum of all groups is
>> + never greater than the total memory, and freely set U at the cost of his
>> + QoS.
>> +
>> + U,K != 0, K >= U:
>> + Since kmem charges will also be fed to the user counter, this setup gives
>> + the admin a unified view of memory. Reclaim will be triggered for the cgroup
>> + for both kinds of memory.
>
> This is also useful for tracking kernel memory allocation.
>
ok.
--
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>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>,
Suleiman Souhlal <suleiman@google.com>, Tejun Heo <tj@kernel.org>,
<cgroups@vger.kernel.org>, <kamezawa.hiroyu@jp.fujitsu.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Greg Thelen <gthelen@google.com>, <devel@openvz.org>,
Frederic Weisbecker <fweisbec@gmail.com>
Subject: Re: [PATCH v4 14/14] Add documentation about the kmem controller
Date: Fri, 12 Oct 2012 11:53:23 +0400 [thread overview]
Message-ID: <5077CC73.80504@parallels.com> (raw)
In-Reply-To: <20121011143559.GJ29295@dhcp22.suse.cz>
On 10/11/2012 06:35 PM, Michal Hocko wrote:
> On Mon 08-10-12 14:06:20, Glauber Costa wrote:
>> Signed-off-by: Glauber Costa <glommer@parallels.com>
>> ---
>> Documentation/cgroups/memory.txt | 55 +++++++++++++++++++++++++++++++++++++++-
>> 1 file changed, 54 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/cgroups/memory.txt b/Documentation/cgroups/memory.txt
>> index c07f7b4..9b08548 100644
>> --- a/Documentation/cgroups/memory.txt
>> +++ b/Documentation/cgroups/memory.txt
>> @@ -71,6 +71,11 @@ Brief summary of control files.
>> memory.oom_control # set/show oom controls.
>> memory.numa_stat # show the number of memory usage per numa node
>>
>> + memory.kmem.limit_in_bytes # set/show hard limit for kernel memory
>> + memory.kmem.usage_in_bytes # show current kernel memory allocation
>> + memory.kmem.failcnt # show the number of kernel memory usage hits limits
>> + memory.kmem.max_usage_in_bytes # show max kernel memory usage recorded
>> +
>> memory.kmem.tcp.limit_in_bytes # set/show hard limit for tcp buf memory
>> memory.kmem.tcp.usage_in_bytes # show current tcp buf memory allocation
>> memory.kmem.tcp.failcnt # show the number of tcp buf memory usage hits limits
>> @@ -268,20 +273,62 @@ the amount of kernel memory used by the system. Kernel memory is fundamentally
>> different than user memory, since it can't be swapped out, which makes it
>> possible to DoS the system by consuming too much of this precious resource.
>>
>> +Kernel memory won't be accounted at all until it is limited. This allows for
>
> until limit on a group is set.
>
ok.
>> +existing setups to continue working without disruption. Note that it is
>> +possible to account it without an effective limit by setting the limits
>> +to a very high number (like RESOURCE_MAX -1page).
>
> I have brought that up in an earlier patch already. Why not just do echo
> -1 (which translates to RESOURCE_MAX internally) and be done with that.
> RESOURCE_MAX-1 sounds quite inconvenient.
>
For the case that you are limited already, and then want to unlimit,
keeping the accounting, yes, it makes sense.
>> The limit cannot be set
>> +if the cgroup have children, or if there are already tasks in the cgroup.
>
> I would start by stating that if children are accounted automatically if
> their parent is accounted already and there is no need to set a limit to
> enforce that. In fact the limit cannot be set if ....
>
ok.
>> +
>> +After a controller is first limited, it will be kept being accounted until it
>
> group is limited not the controller.
>
true, thanks.
>> +
>> Kernel memory limits are not imposed for the root cgroup. Usage for the root
>> -cgroup may or may not be accounted.
>> +cgroup may or may not be accounted. The memory used is accumulated into
>> +memory.kmem.usage_in_bytes, or in a separate counter when it makes sense.
>
> Which separate counter? Is this about tcp kmem?
>
So far, yes, this is the only case that makes sense, and the fewer the
better. In any case it exists, and I wanted to be generic.
>> +The main "kmem" counter is fed into the main counter, so kmem charges will
>> +also be visible from the user counter.
>>
>> Currently no soft limit is implemented for kernel memory. It is future work
>> to trigger slab reclaim when those limits are reached.
>>
>> 2.7.1 Current Kernel Memory resources accounted
>>
>> +* stack pages: every process consumes some stack pages. By accounting into
>> +kernel memory, we prevent new processes from being created when the kernel
>> +memory usage is too high.
>> +
>> * sockets memory pressure: some sockets protocols have memory pressure
>> thresholds. The Memory Controller allows them to be controlled individually
>> per cgroup, instead of globally.
>>
>> * tcp memory pressure: sockets memory pressure for the tcp protocol.
>>
>> +2.7.3 Common use cases
>> +
>> +Because the "kmem" counter is fed to the main user counter, kernel memory can
>> +never be limited completely independently of user memory. Say "U" is the user
>> +limit, and "K" the kernel limit. There are three possible ways limits can be
>> +set:
>> +
>> + U != 0, K = 0:
>
> K is not 0 it is unaccounted (disabled)
>
>> + This is the standard memcg limitation mechanism already present before kmem
>> + accounting. Kernel memory is completely ignored.
>> +
>> + U,K != 0, K < U:
>
> I would keep K < U
>> + Kernel memory is effectively set as a percentage of the user memory. This
>
> not a percentage it is subset of the user memory
>
Well, this is semantics. I can change, but for me it makes a lot of
sense to think of it in terms of a percentage, because it is easy to
administer. You don't actually write a percentage, which I tried to
clarify by using the term "effective set as a percentage".
>> + setup is useful in deployments where the total amount of memory per-cgroup
>> + is overcommited. Overcommiting kernel memory limits is definitely not
>> + recommended, since the box can still run out of non-reclaimable memory.
>> + In this case, the admin could set up K so that the sum of all groups is
>> + never greater than the total memory, and freely set U at the cost of his
>> + QoS.
>> +
>> + U,K != 0, K >= U:
>> + Since kmem charges will also be fed to the user counter, this setup gives
>> + the admin a unified view of memory. Reclaim will be triggered for the cgroup
>> + for both kinds of memory.
>
> This is also useful for tracking kernel memory allocation.
>
ok.
next prev parent reply other threads:[~2012-10-12 7:53 UTC|newest]
Thread overview: 136+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-08 10:06 [PATCH v4 00/14] kmem controller for memcg Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
[not found] ` <1349690780-15988-1-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-08 10:06 ` [PATCH v4 01/14] memcg: Make it possible to use the stock for more than one page Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` [PATCH v4 02/14] memcg: Reclaim when more than one page needed Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
[not found] ` <1349690780-15988-3-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-16 3:22 ` Kamezawa Hiroyuki
2012-10-16 3:22 ` Kamezawa Hiroyuki
2012-10-16 3:22 ` Kamezawa Hiroyuki
2012-10-08 10:06 ` [PATCH v4 03/14] memcg: change defines to an enum Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` [PATCH v4 04/14] kmem accounting basic infrastructure Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
[not found] ` <1349690780-15988-5-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-11 10:11 ` Michal Hocko
2012-10-11 10:11 ` Michal Hocko
2012-10-11 10:11 ` Michal Hocko
2012-10-11 12:53 ` Michal Hocko
2012-10-11 12:53 ` Michal Hocko
2012-10-11 13:38 ` Michal Hocko
2012-10-11 13:38 ` Michal Hocko
[not found] ` <20121011101119.GB29295-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-12 7:36 ` Glauber Costa
2012-10-12 7:36 ` Glauber Costa
2012-10-12 7:36 ` Glauber Costa
[not found] ` <5077C886.2030609-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-12 8:27 ` Michal Hocko
2012-10-12 8:27 ` Michal Hocko
2012-10-12 8:27 ` Michal Hocko
2012-10-08 10:06 ` [PATCH v4 05/14] Add a __GFP_KMEMCG flag Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
[not found] ` <1349690780-15988-6-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-09 15:04 ` Michal Hocko
2012-10-09 15:04 ` Michal Hocko
2012-10-09 15:04 ` Michal Hocko
2012-10-08 10:06 ` [PATCH v4 06/14] memcg: kmem controller infrastructure Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-11 12:42 ` Michal Hocko
2012-10-11 12:42 ` Michal Hocko
2012-10-11 12:56 ` Michal Hocko
2012-10-11 12:56 ` Michal Hocko
[not found] ` <20121011124212.GC29295-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-12 7:45 ` Glauber Costa
2012-10-12 7:45 ` Glauber Costa
2012-10-12 7:45 ` Glauber Costa
2012-10-12 8:39 ` Michal Hocko
2012-10-12 8:39 ` Michal Hocko
[not found] ` <20121012083944.GD10110-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-12 8:44 ` Glauber Costa
2012-10-12 8:44 ` Glauber Costa
2012-10-12 8:44 ` Glauber Costa
[not found] ` <5077D889.2040100-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-12 8:57 ` Michal Hocko
2012-10-12 8:57 ` Michal Hocko
2012-10-12 8:57 ` Michal Hocko
[not found] ` <20121012085740.GG10110-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-12 9:13 ` Glauber Costa
2012-10-12 9:13 ` Glauber Costa
2012-10-12 9:13 ` Glauber Costa
[not found] ` <5077DF20.7020200-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-12 9:47 ` Michal Hocko
2012-10-12 9:47 ` Michal Hocko
2012-10-12 9:47 ` Michal Hocko
2012-10-16 8:00 ` Kamezawa Hiroyuki
2012-10-16 8:00 ` Kamezawa Hiroyuki
2012-10-16 8:00 ` Kamezawa Hiroyuki
2012-10-08 10:06 ` [PATCH v4 07/14] mm: Allocate kernel pages to the right memcg Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` [PATCH v4 08/14] res_counter: return amount of charges after res_counter_uncharge Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-09 15:08 ` Michal Hocko
2012-10-09 15:08 ` Michal Hocko
2012-10-09 15:14 ` Glauber Costa
2012-10-09 15:14 ` Glauber Costa
2012-10-09 15:35 ` Michal Hocko
2012-10-09 15:35 ` Michal Hocko
[not found] ` <20121009153506.GD7655-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-10 9:03 ` Glauber Costa
2012-10-10 9:03 ` Glauber Costa
2012-10-10 9:03 ` Glauber Costa
[not found] ` <507539EB.90006-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-10 11:24 ` Michal Hocko
2012-10-10 11:24 ` Michal Hocko
2012-10-10 11:24 ` Michal Hocko
[not found] ` <1349690780-15988-9-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-10 11:25 ` Michal Hocko
2012-10-10 11:25 ` Michal Hocko
2012-10-10 11:25 ` Michal Hocko
2012-10-16 8:20 ` Kamezawa Hiroyuki
2012-10-16 8:20 ` Kamezawa Hiroyuki
2012-10-16 8:20 ` Kamezawa Hiroyuki
2012-10-08 10:06 ` [PATCH v4 09/14] memcg: kmem accounting lifecycle management Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
[not found] ` <1349690780-15988-10-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-11 13:11 ` Michal Hocko
2012-10-11 13:11 ` Michal Hocko
2012-10-11 13:11 ` Michal Hocko
[not found] ` <20121011131143.GF29295-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-12 7:47 ` Glauber Costa
2012-10-12 7:47 ` Glauber Costa
2012-10-12 7:47 ` Glauber Costa
[not found] ` <5077CB05.907-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-12 8:41 ` Michal Hocko
2012-10-12 8:41 ` Michal Hocko
2012-10-12 8:41 ` Michal Hocko
2012-10-16 8:41 ` Kamezawa Hiroyuki
2012-10-16 8:41 ` Kamezawa Hiroyuki
2012-10-08 10:06 ` [PATCH v4 10/14] memcg: use static branches when code not in use Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
[not found] ` <1349690780-15988-11-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-11 13:40 ` Michal Hocko
2012-10-11 13:40 ` Michal Hocko
2012-10-11 13:40 ` Michal Hocko
2012-10-12 7:47 ` Glauber Costa
2012-10-12 7:47 ` Glauber Costa
2012-10-16 8:48 ` Kamezawa Hiroyuki
2012-10-16 8:48 ` Kamezawa Hiroyuki
2012-10-08 10:06 ` [PATCH v4 11/14] memcg: allow a memcg with kmem charges to be destructed Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` [PATCH v4 12/14] execute the whole memcg freeing in free_worker Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
[not found] ` <1349690780-15988-13-git-send-email-glommer-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-10-11 14:21 ` Michal Hocko
2012-10-11 14:21 ` Michal Hocko
2012-10-11 14:21 ` Michal Hocko
2012-10-08 10:06 ` [PATCH v4 13/14] protect architectures where THREAD_SIZE >= PAGE_SIZE against fork bombs Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` [PATCH v4 14/14] Add documentation about the kmem controller Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-08 10:06 ` Glauber Costa
2012-10-11 14:35 ` Michal Hocko
2012-10-11 14:35 ` Michal Hocko
[not found] ` <20121011143559.GJ29295-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-10-12 7:53 ` Glauber Costa [this message]
2012-10-12 7:53 ` Glauber Costa
2012-10-12 7:53 ` Glauber Costa
2012-10-12 8:44 ` Michal Hocko
2012-10-12 8:44 ` Michal Hocko
2012-10-17 7:29 ` Kamezawa Hiroyuki
2012-10-17 7:29 ` Kamezawa Hiroyuki
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=5077CC73.80504@parallels.com \
--to=glommer-bzqdu9zft3wakbo8gow8eq@public.gmane.org \
--cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=devel-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
--cc=fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=gthelen-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
--cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=mgorman-l3A5Bk7waGM@public.gmane.org \
--cc=mhocko-AlSwsSmVLrQ@public.gmane.org \
--cc=suleiman-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
/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.