Re: slub: Lockout validation scans during freeing of object

From: Christoph Lameter
Date: Tue Nov 22 2011 - 12:59:27 EST


On Tue, 22 Nov 2011, Eric Dumazet wrote:

> This seems better, but I still have some warnings :
>
> [ 162.117574] SLUB: selinux_inode_security 136 slabs counted but counter=137
> [ 179.879907] SLUB: task_xstate 1 slabs counted but counter=2

This is the total # of slabs that mismatches. Some slabs are not on the
partial list and are neither on the full list since they are currently
on the per cpu partial lists. Thats an accounting issue introduced in 3.2
with the per cpu pages. Need to find some way to count the per cpu partial
pages correctly. Could just force the per cpu pages to be empty?


Subject: Switch per cpu partial page support off for debugging

Otherwise we have accounting issues.

Signed-off-by: Christoph Lameter <cl@xxxxxxxxx>


---
mm/slub.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c 2011-11-22 11:57:21.000000000 -0600
+++ linux-2.6/mm/slub.c 2011-11-22 11:57:55.000000000 -0600
@@ -3027,7 +3027,9 @@ static int kmem_cache_open(struct kmem_c
* per node list when we run out of per cpu objects. We only fetch 50%
* to keep some capacity around for frees.
*/
- if (s->size >= PAGE_SIZE)
+ if (kmem_cache_debug(s))
+ s->cpu_partial = 0;
+ else if (s->size >= PAGE_SIZE)
s->cpu_partial = 2;
else if (s->size >= 1024)
s->cpu_partial = 6;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/