Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-07-01 Thread Vladimir Davydov
On Mon, Jun 30, 2014 at 10:49:03AM -0500, Christoph Lameter wrote: > On Fri, 27 Jun 2014, Joonsoo Kim wrote: > > > Christoph, > > Is it tolerable result for large scale system? Or do we need to find > > another solution? > > > The overhead is pretty intense but then this is a rare event I

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-07-01 Thread Vladimir Davydov
On Mon, Jun 30, 2014 at 10:49:03AM -0500, Christoph Lameter wrote: On Fri, 27 Jun 2014, Joonsoo Kim wrote: Christoph, Is it tolerable result for large scale system? Or do we need to find another solution? The overhead is pretty intense but then this is a rare event I guess? Yes,

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-30 Thread Christoph Lameter
On Fri, 27 Jun 2014, Joonsoo Kim wrote: > Christoph, > Is it tolerable result for large scale system? Or do we need to find > another solution? The overhead is pretty intense but then this is a rare event I guess? It seems that it is much easier on the code and much faster to do the periodic

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-30 Thread Christoph Lameter
On Fri, 27 Jun 2014, Joonsoo Kim wrote: Christoph, Is it tolerable result for large scale system? Or do we need to find another solution? The overhead is pretty intense but then this is a rare event I guess? It seems that it is much easier on the code and much faster to do the periodic

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-27 Thread Joonsoo Kim
On Wed, Jun 25, 2014 at 05:45:45PM +0400, Vladimir Davydov wrote: > On Tue, Jun 24, 2014 at 04:38:41PM +0900, Joonsoo Kim wrote: > > On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: > > And, you said that this way of implementation would be slow because > > there could be many

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-27 Thread Joonsoo Kim
On Wed, Jun 25, 2014 at 05:45:45PM +0400, Vladimir Davydov wrote: On Tue, Jun 24, 2014 at 04:38:41PM +0900, Joonsoo Kim wrote: On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: And, you said that this way of implementation would be slow because there could be many object in

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-25 Thread Vladimir Davydov
On Tue, Jun 24, 2014 at 04:38:41PM +0900, Joonsoo Kim wrote: > On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: > And, you said that this way of implementation would be slow because > there could be many object in dead caches and this implementation > needs node spin_lock on each

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-25 Thread Vladimir Davydov
On Tue, Jun 24, 2014 at 04:38:41PM +0900, Joonsoo Kim wrote: On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: And, you said that this way of implementation would be slow because there could be many object in dead caches and this implementation needs node spin_lock on each

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-24 Thread Vladimir Davydov
On Tue, Jun 24, 2014 at 04:38:41PM +0900, Joonsoo Kim wrote: > On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: > > @@ -3462,6 +3474,17 @@ static inline void __cache_free(struct kmem_cache > > *cachep, void *objp, > > > > kmemcheck_slab_free(cachep, objp,

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-24 Thread Vladimir Davydov
Hi, On Tue, Jun 24, 2014 at 04:25:54PM +0900, Joonsoo Kim wrote: > On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: > > @@ -3368,7 +3379,8 @@ static void free_block(struct kmem_cache *cachep, > > void **objpp, int nr_objects, > > > > /* fixup slab chains */ > >

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-24 Thread Joonsoo Kim
On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: > Since a dead memcg cache is destroyed only after the last slab allocated > to it is freed, we must disable caching of free objects/slabs for such > caches, otherwise they will be hanging around forever. > > For SLAB that means we

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-24 Thread Joonsoo Kim
On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: > Since a dead memcg cache is destroyed only after the last slab allocated > to it is freed, we must disable caching of free objects/slabs for such > caches, otherwise they will be hanging around forever. > > For SLAB that means we

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-24 Thread Joonsoo Kim
On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: Since a dead memcg cache is destroyed only after the last slab allocated to it is freed, we must disable caching of free objects/slabs for such caches, otherwise they will be hanging around forever. For SLAB that means we must

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-24 Thread Joonsoo Kim
On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: Since a dead memcg cache is destroyed only after the last slab allocated to it is freed, we must disable caching of free objects/slabs for such caches, otherwise they will be hanging around forever. For SLAB that means we must

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-24 Thread Vladimir Davydov
Hi, On Tue, Jun 24, 2014 at 04:25:54PM +0900, Joonsoo Kim wrote: On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: @@ -3368,7 +3379,8 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects, /* fixup slab chains */ if

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-24 Thread Vladimir Davydov
On Tue, Jun 24, 2014 at 04:38:41PM +0900, Joonsoo Kim wrote: On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: @@ -3462,6 +3474,17 @@ static inline void __cache_free(struct kmem_cache *cachep, void *objp, kmemcheck_slab_free(cachep, objp, cachep-object_size);

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-12 Thread Vladimir Davydov
On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: > Since a dead memcg cache is destroyed only after the last slab allocated > to it is freed, we must disable caching of free objects/slabs for such > caches, otherwise they will be hanging around forever. > > For SLAB that means we

Re: [PATCH -mm v3 8/8] slab: do not keep free objects/slabs on dead memcg caches

2014-06-12 Thread Vladimir Davydov
On Fri, Jun 13, 2014 at 12:38:22AM +0400, Vladimir Davydov wrote: Since a dead memcg cache is destroyed only after the last slab allocated to it is freed, we must disable caching of free objects/slabs for such caches, otherwise they will be hanging around forever. For SLAB that means we must