panic: uma_zone_slab is looping

Peter Holm peter at holm.cc
Thu Dec 9 06:42:36 PST 2004


I modified:

$ cvs diff -u uma_core.c 
Index: uma_core.c
===================================================================
RCS file: /home/ncvs/src/sys/vm/uma_core.c,v
retrieving revision 1.110
diff -u -r1.110 uma_core.c
--- uma_core.c  6 Nov 2004 11:43:30 -0000       1.110
+++ uma_core.c  9 Dec 2004 14:38:32 -0000
@@ -1926,6 +1926,7 @@
 {
        uma_slab_t slab;
        uma_keg_t keg;
+       int i;
 
        keg = zone->uz_keg;
 
@@ -1943,7 +1944,8 @@
 
        slab = NULL;
 
-       for (;;) {
+       for (i = 0;;i++) {
+               KASSERT(i < 10000, ("uma_zone_slab is looping"));
                /*
                 * Find a slab with some space.  Prefer slabs that are partially
                 * used over those that are totally full.  This helps to reduce


and caught this one:
http://www.holm.cc/stress/log/cons94.html
-- 
Peter Holm


More information about the freebsd-current mailing list