[Devel] Re: [PATCH v5 01/10] ipc: remove forced assignment of selected message

2012-09-26 Thread Stanislav Kinsbursky
26.09.2012 21:37, Serge Hallyn пишет: Quoting Stanislav Kinsbursky (skinsbur...@parallels.com): This is a cleanup patch. The assignment is redundant. Signed-off-by: Stanislav Kinsbursky --- ipc/msg.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/ipc/msg.c b/ipc/ms

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
Hello, On Thu, Sep 27, 2012 at 03:20:27AM +0400, Glauber Costa wrote: > > One of the things wrong with that is that it exposes the limitation of > > the current implementation as interface to userland, which is never a > > good idea. In addition, how is userland supposed to know which > > workloa

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/27/2012 03:08 AM, Tejun Heo wrote: > Hello, Glauber. > > On Thu, Sep 27, 2012 at 02:54:11AM +0400, Glauber Costa wrote: >> I don't. Much has been said in the past about the problem of sharing. A >> lot of the kernel objects are shared by nature, this is pretty much >> unavoidable. The answer

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
Hello, Glauber. On Thu, Sep 27, 2012 at 02:54:11AM +0400, Glauber Costa wrote: > I don't. Much has been said in the past about the problem of sharing. A > lot of the kernel objects are shared by nature, this is pretty much > unavoidable. The answer we have been giving to this inquiry, is that the

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/27/2012 02:42 AM, Tejun Heo wrote: > Hello, Glauber. > > On Thu, Sep 27, 2012 at 02:29:06AM +0400, Glauber Costa wrote: >> And then what? If you want a different behavior you need to go kill all >> your services that are using memcg so you can get the behavior you want? >> And if they happen

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/27/2012 02:11 AM, Johannes Weiner wrote: > On Thu, Sep 27, 2012 at 12:02:14AM +0400, Glauber Costa wrote: >> On 09/26/2012 11:56 PM, Tejun Heo wrote: >>> Hello, >>> >>> On Wed, Sep 26, 2012 at 11:46:37PM +0400, Glauber Costa wrote: Besides not being part of cgroup core, and respecting ve

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
Hello, Glauber. On Thu, Sep 27, 2012 at 02:29:06AM +0400, Glauber Costa wrote: > And then what? If you want a different behavior you need to go kill all > your services that are using memcg so you can get the behavior you want? > And if they happen to be making a specific flag choice by design, yo

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/27/2012 02:10 AM, Tejun Heo wrote: > Hello, Glauber. > > On Thu, Sep 27, 2012 at 01:24:40AM +0400, Glauber Costa wrote: >> "kmem_accounted" is not a switch. It is an internal representation only. >> The semantics, that we discussed exhaustively in San Diego, is that a >> group that is not li

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Johannes Weiner
On Thu, Sep 27, 2012 at 12:02:14AM +0400, Glauber Costa wrote: > On 09/26/2012 11:56 PM, Tejun Heo wrote: > > Hello, > > > > On Wed, Sep 26, 2012 at 11:46:37PM +0400, Glauber Costa wrote: > >> Besides not being part of cgroup core, and respecting very much both > >> cgroups' and basic sanity prope

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
Hello, Glauber. On Thu, Sep 27, 2012 at 01:24:40AM +0400, Glauber Costa wrote: > "kmem_accounted" is not a switch. It is an internal representation only. > The semantics, that we discussed exhaustively in San Diego, is that a > group that is not limited is not accounted. This is simple and consist

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/27/2012 12:16 AM, Tejun Heo wrote: > On Thu, Sep 27, 2012 at 12:02:14AM +0400, Glauber Costa wrote: >> But think in terms of functionality: This thing here is a lot more >> similar to swap than use_hierarchy. Would you argue that memsw should be >> per-root ? > > I'm fairly sure you can make

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
On Thu, Sep 27, 2012 at 12:02:14AM +0400, Glauber Costa wrote: > But think in terms of functionality: This thing here is a lot more > similar to swap than use_hierarchy. Would you argue that memsw should be > per-root ? I'm fairly sure you can make about the same argument about use_hierarchy. The

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/26/2012 11:56 PM, Tejun Heo wrote: > Hello, > > On Wed, Sep 26, 2012 at 11:46:37PM +0400, Glauber Costa wrote: >> Besides not being part of cgroup core, and respecting very much both >> cgroups' and basic sanity properties, kmem is an actual feature that >> some people want, and some people

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
Hello, On Wed, Sep 26, 2012 at 11:46:37PM +0400, Glauber Costa wrote: > Besides not being part of cgroup core, and respecting very much both > cgroups' and basic sanity properties, kmem is an actual feature that > some people want, and some people don't. There is no reason to believe > that applic

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/26/2012 11:34 PM, Tejun Heo wrote: > Hello, > > On Wed, Sep 26, 2012 at 10:56:09PM +0400, Glauber Costa wrote: >> For me, it is the other way around: it makes perfect sense to have a >> per-subtree selection of features where it doesn't hurt us, provided it >> is hierarchical. For the mere f

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
Hello, On Wed, Sep 26, 2012 at 10:56:09PM +0400, Glauber Costa wrote: > For me, it is the other way around: it makes perfect sense to have a > per-subtree selection of features where it doesn't hurt us, provided it > is hierarchical. For the mere fact that not every application is > interested in

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/26/2012 10:01 PM, Tejun Heo wrote: > Hello, > > On Wed, Sep 26, 2012 at 09:53:09PM +0400, Glauber Costa wrote: >> I understand your trauma about over flexibility, and you know I share of >> it. But I don't think there is any need to cap it here. Given kmem >> accounted is perfectly hierarchi

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
Hello, On Wed, Sep 26, 2012 at 09:53:09PM +0400, Glauber Costa wrote: > I understand your trauma about over flexibility, and you know I share of > it. But I don't think there is any need to cap it here. Given kmem > accounted is perfectly hierarchical, and there seem to be plenty of > people who o

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/26/2012 09:44 PM, Tejun Heo wrote: > Hello, Glauber. > > On Wed, Sep 26, 2012 at 10:36 AM, Glauber Costa wrote: >> This was discussed multiple times. Our interest is to preserve existing >> deployed setup, that were tuned in a world where kmem didn't exist. >> Because we also feed kmem to t

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
Hello, Glauber. On Wed, Sep 26, 2012 at 10:36 AM, Glauber Costa wrote: > This was discussed multiple times. Our interest is to preserve existing > deployed setup, that were tuned in a world where kmem didn't exist. > Because we also feed kmem to the user counter, this may very well > disrupt thei

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/26/2012 08:36 PM, Tejun Heo wrote: > Hello, Michal, Glauber. > > On Wed, Sep 26, 2012 at 04:03:47PM +0200, Michal Hocko wrote: >> Haven't we already discussed that a new memcg should inherit kmem_accounted >> from its parent for use_hierarchy? >> Say we have >> root >> | >> A (kmem_accounted

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/26/2012 08:01 PM, Michal Hocko wrote: > On Wed 26-09-12 18:33:10, Glauber Costa wrote: >> On 09/26/2012 06:03 PM, Michal Hocko wrote: >>> On Tue 18-09-12 18:04:01, Glauber Costa wrote: > [...] @@ -4961,6 +5015,12 @@ mem_cgroup_create(struct cgroup *cont) int cpu;

[Devel] Re: [PATCH v5 01/10] ipc: remove forced assignment of selected message

2012-09-26 Thread Serge Hallyn
Quoting Stanislav Kinsbursky (skinsbur...@parallels.com): > This is a cleanup patch. The assignment is redundant. > > Signed-off-by: Stanislav Kinsbursky > --- > ipc/msg.c |1 - > 1 files changed, 0 insertions(+), 1 deletions(-) > > diff --git a/ipc/msg.c b/ipc/msg.c > index 7385de2..f3bfbb

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Tejun Heo
Hello, Michal, Glauber. On Wed, Sep 26, 2012 at 04:03:47PM +0200, Michal Hocko wrote: > Haven't we already discussed that a new memcg should inherit kmem_accounted > from its parent for use_hierarchy? > Say we have > root > | > A (kmem_accounted = 1, use_hierachy = 1) > \ > B (kmem_accounted =

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Michal Hocko
On Wed 26-09-12 18:33:10, Glauber Costa wrote: > On 09/26/2012 06:03 PM, Michal Hocko wrote: > > On Tue 18-09-12 18:04:01, Glauber Costa wrote: [...] > >> @@ -4961,6 +5015,12 @@ mem_cgroup_create(struct cgroup *cont) > >>int cpu; > >>enable_swap_cgroup(); > >>par

[Devel] Re: [PATCH v3 06/13] memcg: kmem controller infrastructure

2012-09-26 Thread Michal Hocko
On Tue 18-09-12 18:04:03, Glauber Costa wrote: > This patch introduces infrastructure for tracking kernel memory pages to > a given memcg. This will happen whenever the caller includes the flag > __GFP_KMEMCG flag, and the task belong to a memcg other than the root. > > In memcontrol.h those funct

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Glauber Costa
On 09/26/2012 06:03 PM, Michal Hocko wrote: > On Tue 18-09-12 18:04:01, Glauber Costa wrote: >> This patch adds the basic infrastructure for the accounting of the slab >> caches. To control that, the following files are created: >> >> * memory.kmem.usage_in_bytes >> * memory.kmem.limit_in_bytes >

[Devel] Re: [PATCH v3 04/13] kmem accounting basic infrastructure

2012-09-26 Thread Michal Hocko
On Tue 18-09-12 18:04:01, Glauber Costa wrote: > This patch adds the basic infrastructure for the accounting of the slab > caches. To control that, the following files are created: > > * memory.kmem.usage_in_bytes > * memory.kmem.limit_in_bytes > * memory.kmem.failcnt > * memory.kmem.max_usage

[Devel] Re: [RFC 2/4] memcg: make it suck faster

2012-09-26 Thread Daniel P. Berrange
On Wed, Sep 26, 2012 at 12:53:21PM +0400, Glauber Costa wrote: > On 09/26/2012 01:02 AM, Andrew Morton wrote: > >> nomemcg : memcg compile disabled. > >> > base : memcg enabled, patch not applied. > >> > bypassed : memcg enabled, with patch applied. > >> > > >> > basebypas

[Devel] Re: [RFC 2/4] memcg: make it suck faster

2012-09-26 Thread Glauber Costa
On 09/26/2012 01:02 AM, Andrew Morton wrote: >> nomemcg : memcg compile disabled. >> > base : memcg enabled, patch not applied. >> > bypassed : memcg enabled, with patch applied. >> > >> > basebypassed >> > User 109.12 105.64 >> > System 1646.84 159

[Devel] Re: [PATCH v3 15/16] memcg/sl[au]b: shrink dead caches

2012-09-26 Thread JoonSoo Kim
Hi, Glauber. >> 2012/9/18 Glauber Costa : >>> diff --git a/mm/slub.c b/mm/slub.c >>> index 0b68d15..9d79216 100644 >>> --- a/mm/slub.c >>> +++ b/mm/slub.c >>> @@ -2602,6 +2602,7 @@ redo: >>> } else >>> __slab_free(s, page, x, addr); >>> >>> + kmem_cache_verify_dead(s)

[Devel] Re: [PATCH v3 06/13] memcg: kmem controller infrastructure

2012-09-26 Thread JoonSoo Kim
>> "*_memcg = memcg" should be executed when "memcg_charge_kmem" is success. >> "memcg_charge_kmem" return 0 if success in charging. >> Therefore, I think this code is wrong. >> If I am right, it is a serious bug that affect behavior of all the patchset. > > Which is precisely what it does. ret is

[Devel] Re: [PATCH v3 15/16] memcg/sl[au]b: shrink dead caches

2012-09-26 Thread JoonSoo Kim
Hi Glauber. 2012/9/18 Glauber Costa : > diff --git a/mm/slub.c b/mm/slub.c > index 0b68d15..9d79216 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -2602,6 +2602,7 @@ redo: > } else > __slab_free(s, page, x, addr); > > + kmem_cache_verify_dead(s); > } As far as u kn

[Devel] Re: [PATCH v3 06/13] memcg: kmem controller infrastructure

2012-09-26 Thread JoonSoo Kim
Hi, Glauber. 2012/9/18 Glauber Costa : > +/* > + * We need to verify if the allocation against current->mm->owner's memcg is > + * possible for the given order. But the page is not allocated yet, so we'll > + * need a further commit step to do the final arrangements. > + * > + * It is possible for