git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix kmem_cache_free performance regression in slab
[pandora-kernel.git]
/
mm
/
slab.c
diff --git
a/mm/slab.c
b/mm/slab.c
index
c31cd36
..
202465a
100644
(file)
--- a/
mm/slab.c
+++ b/
mm/slab.c
@@
-2881,6
+2881,8
@@
static void *cache_free_debugcheck(struct kmem_cache *cachep, void *objp,
unsigned int objnr;
struct slab *slabp;
unsigned int objnr;
struct slab *slabp;
+ BUG_ON(virt_to_cache(objp) != cachep);
+
objp -= obj_offset(cachep);
kfree_debugcheck(objp);
page = virt_to_head_page(objp);
objp -= obj_offset(cachep);
kfree_debugcheck(objp);
page = virt_to_head_page(objp);
@@
-3759,8
+3761,6
@@
void kmem_cache_free(struct kmem_cache *cachep, void *objp)
{
unsigned long flags;
{
unsigned long flags;
- BUG_ON(virt_to_cache(objp) != cachep);
-
local_irq_save(flags);
debug_check_no_locks_freed(objp, obj_size(cachep));
__cache_free(cachep, objp);
local_irq_save(flags);
debug_check_no_locks_freed(objp, obj_size(cachep));
__cache_free(cachep, objp);