All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH -mm 0/3] slub: make dead caches discard free slabs immediately
@ 2015-01-26 12:55 ` Vladimir Davydov
  0 siblings, 0 replies; 48+ messages in thread
From: Vladimir Davydov @ 2015-01-26 12:55 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Christoph Lameter, Pekka Enberg, David Rientjes, Joonsoo Kim,
	Johannes Weiner, Michal Hocko, linux-mm, linux-kernel

Hi,

The kmem extension of the memory cgroup is almost usable now. There is,
in fact, the only serious issue left: per memcg kmem caches may pin the
owner cgroup for indefinitely long. This is, because a slab cache may
keep empty slab pages in its private structures to optimize performance,
while we take a css reference per each charged kmem page.

The issue is only relevant to SLUB, because SLAB periodically reaps
empty slabs. This patch set fixes this issue for SLUB. For details,
please see patch 3.

Thanks,

Vladimir Davydov (3):
  slub: don't fail kmem_cache_shrink if slab placement optimization
    fails
  slab: zap kmem_cache_shrink return value
  slub: make dead caches discard free slabs immediately

 include/linux/slab.h |    2 +-
 mm/slab.c            |    9 +++++++--
 mm/slab.h            |    2 +-
 mm/slab_common.c     |   21 +++++++++++++-------
 mm/slob.c            |    3 +--
 mm/slub.c            |   53 +++++++++++++++++++++++++++++++++++---------------
 6 files changed, 61 insertions(+), 29 deletions(-)

-- 
1.7.10.4


^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2015-01-29  1:56 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-26 12:55 [PATCH -mm 0/3] slub: make dead caches discard free slabs immediately Vladimir Davydov
2015-01-26 12:55 ` Vladimir Davydov
2015-01-26 12:55 ` [PATCH -mm 1/3] slub: don't fail kmem_cache_shrink if slab placement optimization fails Vladimir Davydov
2015-01-26 12:55   ` Vladimir Davydov
2015-01-26 15:48   ` Christoph Lameter
2015-01-26 15:48     ` Christoph Lameter
2015-01-26 17:01     ` Vladimir Davydov
2015-01-26 17:01       ` Vladimir Davydov
2015-01-26 18:24       ` Christoph Lameter
2015-01-26 18:24         ` Christoph Lameter
2015-01-26 19:36         ` Vladimir Davydov
2015-01-26 19:36           ` Vladimir Davydov
2015-01-26 19:53           ` Christoph Lameter
2015-01-26 19:53             ` Christoph Lameter
2015-01-27 12:58             ` Vladimir Davydov
2015-01-27 12:58               ` Vladimir Davydov
2015-01-27 17:02               ` Christoph Lameter
2015-01-27 17:02                 ` Christoph Lameter
2015-01-28 15:00                 ` Vladimir Davydov
2015-01-28 15:00                   ` Vladimir Davydov
2015-01-26 12:55 ` [PATCH -mm 2/3] slab: zap kmem_cache_shrink return value Vladimir Davydov
2015-01-26 12:55   ` Vladimir Davydov
2015-01-26 15:49   ` Christoph Lameter
2015-01-26 15:49     ` Christoph Lameter
2015-01-26 17:04     ` Vladimir Davydov
2015-01-26 17:04       ` Vladimir Davydov
2015-01-26 18:26       ` Christoph Lameter
2015-01-26 18:26         ` Christoph Lameter
2015-01-26 19:48         ` Vladimir Davydov
2015-01-26 19:48           ` Vladimir Davydov
2015-01-26 19:55           ` Christoph Lameter
2015-01-26 19:55             ` Christoph Lameter
2015-01-26 20:16             ` Vladimir Davydov
2015-01-26 20:16               ` Vladimir Davydov
2015-01-26 20:28               ` Christoph Lameter
2015-01-26 20:28                 ` Christoph Lameter
2015-01-26 20:43                 ` Vladimir Davydov
2015-01-26 20:43                   ` Vladimir Davydov
2015-01-26 12:55 ` [PATCH -mm 3/3] slub: make dead caches discard free slabs immediately Vladimir Davydov
2015-01-26 12:55   ` Vladimir Davydov
2015-01-27  8:00   ` Joonsoo Kim
2015-01-27  8:00     ` Joonsoo Kim
2015-01-27  8:23     ` Vladimir Davydov
2015-01-27  8:23       ` Vladimir Davydov
2015-01-27  9:21       ` Joonsoo Kim
2015-01-27  9:21         ` Joonsoo Kim
2015-01-27  9:28         ` Vladimir Davydov
2015-01-27  9:28           ` Vladimir Davydov

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.