summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@intel.com>2011-09-06 14:46:01 +0800
committerPekka Enberg <penberg@kernel.org>2011-09-27 23:03:31 +0300
commitdcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0 (patch)
treeafe8ced0d1944ed1a33db168eae6686bd6d038bb /mm
parent9f26490412cf15b04ac8f44a512ba0b09e774576 (diff)
downloadlinux-dcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0.tar.gz
linux-dcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0.tar.bz2
linux-dcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0.zip
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')
-rw-r--r--mm/slub.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 8f687575d310..e06f72c81e53 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,