summaryrefslogtreecommitdiff
path: root/mm/slub.c
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2012-01-24 16:52:10 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2012-01-24 17:05:20 +0530
commit058cf848b62154a6ac13e276899fbb6650df0b74 (patch)
tree980f3caa279997fe141738ed15b4211036f3c7ab /mm/slub.c
parentac64f7716cc7afbb57a3c7c70aa9214e2279624e (diff)
parent9bb1282f6a7754955c18be912fbc2b55d133f1b9 (diff)
Merge branch 'linux-3.1.y' into android-tegra-nv-3.1
Linux 3.1.10 Change-Id: I465d184c492e8041dd0cd90f2cb70fde17ba7118 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'mm/slub.c')
-rw-r--r--mm/slub.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 7c54fe83a90c..f73234db904d 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2077,6 +2077,11 @@ static void *__slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node,
goto new_slab;
}
+ /* must check again c->freelist in case of cpu migration or IRQ */
+ object = c->freelist;
+ if (object)
+ goto load_freelist;
+
stat(s, ALLOC_SLOWPATH);
do {