diff options
author | Alex Shi <alex.shi@intel.com> | 2011-09-06 14:46:01 +0800 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2011-09-27 23:03:31 +0300 |
commit | dcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0 (patch) | |
tree | afe8ced0d1944ed1a33db168eae6686bd6d038bb | |
parent | 9f26490412cf15b04ac8f44a512ba0b09e774576 (diff) | |
download | linux-3.10-dcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0.tar.gz linux-3.10-dcc3be6a548a1e51adaab3be6d9dfbb68bc0e3a0.tar.bz2 linux-3.10-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>
-rw-r--r-- | mm/slub.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/slub.c b/mm/slub.c index 8f687575d31..e06f72c81e5 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, |