lkml.org 
[lkml]   [2011]   [Nov]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: slub: Lockout validation scans during freeing of object
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@linux.com>


---
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;

\
 
 \ /
  Last update: 2011-11-22 19:01    [from the cache]
©2003-2011 Jasper Spaans