lkml.org 
[lkml]   [2002]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH 2.4] Enable checking of reap of in-use slab
Date
From
Hi Marcelo,

On older (2.4.9) kernels, we keep running into the occasional attempts to reap
in-use slabs. The checks for this were compiled out on 2.4.10 and above in
the name of efficiency.

I'd like to add the checks just for the in use parts back just to make
assurances doubly sure that this bug is actually fixed, not just obscured.
The changes use the BUG_ON macro, so the actual debugging stuff is in the
unlikely branch which shouldn't impact the critical path too much.

Please consider applying for 2.4.22

Thanks,

James

===== mm/slab.c 1.21 vs edited =====
--- 1.21/mm/slab.c Mon Dec 16 00:22:20 2002
+++ edited/mm/slab.c Fri Dec 20 10:33:02 2002
@@ -928,10 +928,9 @@
break;

slabp = list_entry(cachep->slabs_free.prev, slab_t, list);
-#if DEBUG
- if (slabp->inuse)
- BUG();
-#endif
+
+ BUG_ON(slabp->inuse);
+
list_del(&slabp->list);

spin_unlock_irq(&cachep->spinlock);
@@ -1785,10 +1784,9 @@
p = searchp->slabs_free.next;
while (p != &searchp->slabs_free) {
slabp = list_entry(p, slab_t, list);
-#if DEBUG
- if (slabp->inuse)
- BUG();
-#endif
+
+ BUG_ON(slabp->inuse);
+
full_free++;
p = p->next;
}
@@ -1838,10 +1836,9 @@
if (p == &best_cachep->slabs_free)
break;
slabp = list_entry(p,slab_t,list);
-#if DEBUG
- if (slabp->inuse)
- BUG();
-#endif
+
+ BUG_ON(slabp->inuse);
+
list_del(&slabp->list);
STATS_INC_REAPED(best_cachep);
\
 
 \ /
  Last update: 2005-03-22 13:31    [W:0.918 / U:0.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site