summaryrefslogtreecommitdiff
path: root/mm/slub.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@intel.com>2011-09-06 06:46:01 (GMT)
committerPekka Enberg <penberg@kernel.org>2011-09-27 20:03:31 (GMT)
commitdcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0 (patch)
treeafe8ced0d1944ed1a33db168eae6686bd6d038bb /mm/slub.c
parent9f26490412cf15b04ac8f44a512ba0b09e774576 (diff)
downloadlinux-dcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0.tar.xz
slub: Discard slab page when node partial > minimum partial number
Discarding slab should be done when node partial > min_partial. Otherwise, node partial slab may eat up all memory. Signed-off-by: Alex Shi <alex.shi@intel.com> Acked-by: Christoph Lameter <cl@linux.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'mm/slub.c')
-rw-r--r--mm/slub.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 8f68757..e06f72c 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1953,7 +1953,7 @@ static void unfreeze_partials(struct kmem_cache *s)
new.frozen = 0;
- if (!new.inuse && (!n || n->nr_partial < s->min_partial))
+ if (!new.inuse && (!n || n->nr_partial > s->min_partial))
m = M_FREE;
else {
struct kmem_cache_node *n2 = get_node(s,