From owner-freebsd-current@FreeBSD.ORG Thu Dec 9 14:42:36 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6FB6716A4CE for ; Thu, 9 Dec 2004 14:42:36 +0000 (GMT) Received: from relay.pair.com (relay00.pair.com [209.68.1.20]) by mx1.FreeBSD.org (Postfix) with SMTP id A0C3543D5A for ; Thu, 9 Dec 2004 14:42:35 +0000 (GMT) (envelope-from pho@holm.cc) Received: (qmail 46249 invoked from network); 9 Dec 2004 14:42:34 -0000 Received: from unknown (HELO peter.osted.lan) (unknown) by unknown with SMTP; 9 Dec 2004 14:42:34 -0000 X-pair-Authenticated: 80.164.63.199 Received: from peter.osted.lan (localhost.osted.lan [127.0.0.1]) by peter.osted.lan (8.13.1/8.13.1) with ESMTP id iB9EgXUM046944 for ; Thu, 9 Dec 2004 15:42:33 +0100 (CET) (envelope-from pho@peter.osted.lan) Received: (from pho@localhost) by peter.osted.lan (8.13.1/8.13.1/Submit) id iB9EgX8S046943 for current@freebsd.org; Thu, 9 Dec 2004 15:42:33 +0100 (CET) (envelope-from pho) Date: Thu, 9 Dec 2004 15:42:33 +0100 From: Peter Holm To: current@freebsd.org Message-ID: <20041209144233.GA46928@peter.osted.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i Subject: panic: uma_zone_slab is looping X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Dec 2004 14:42:36 -0000 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