summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2011-11-11 08:33:48 +0800
committerPekka Enberg <penberg@kernel.org>2011-11-15 20:37:15 +0200
commitf64ae042d94d376b54e7a343d93c48561e9d2e16 (patch)
treeda4a9c1b06e5e1234cad1f2b7ae6dc3c372b26cc
parent1ea6b8f48918282bdca0b32a34095504ee65bab5 (diff)
downloadlwn-f64ae042d94d376b54e7a343d93c48561e9d2e16.tar.gz
lwn-f64ae042d94d376b54e7a343d93c48561e9d2e16.zip
slub: use correct parameter to add a page to partial list tail
unfreeze_partials() needs add the page to partial list tail, since such page hasn't too many free objects. We now explictly use DEACTIVATE_TO_TAIL for this, while DEACTIVATE_TO_TAIL != 1. This will cause performance regression (eg, more lock contention in node->list_lock) without below fix. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Acked-by: Christoph Lameter <cl@linux.com> Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
-rw-r--r--mm/slub.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 7d2a996c307e..60e16c43f88c 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1904,7 +1904,8 @@ static void unfreeze_partials(struct kmem_cache *s)
if (l == M_PARTIAL)
remove_partial(n, page);
else
- add_partial(n, page, 1);
+ add_partial(n, page,
+ DEACTIVATE_TO_TAIL);
l = m;
}