From owner-freebsd-current@FreeBSD.ORG Wed Dec 3 09:30:31 2003 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 2E88316A4CE for ; Wed, 3 Dec 2003 09:30:31 -0800 (PST) Received: from smtp.mho.com (smtp.mho.net [64.58.4.6]) by mx1.FreeBSD.org (Postfix) with SMTP id E2A9443FBF for ; Wed, 3 Dec 2003 09:30:28 -0800 (PST) (envelope-from scottl@freebsd.org) Received: (qmail 79053 invoked by uid 1002); 3 Dec 2003 17:30:28 -0000 Received: from unknown (HELO freebsd.org) (64.58.1.252) by smtp.mho.net with SMTP; 3 Dec 2003 17:30:28 -0000 Message-ID: <3FCE1D6F.30708@freebsd.org> Date: Wed, 03 Dec 2003 10:29:19 -0700 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.5) Gecko/20031103 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Clive Lin References: <20031029161647.GA42024@fatpipi.cirx.org> <20031031010904.GA81366@ergobrains.co.jp> <20031031082550.GA35838@ergobrains.co.jp> <20031203165020.GA29007@fatpipi.cirx.org> In-Reply-To: <20031203165020.GA29007@fatpipi.cirx.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-current@freebsd.org cc: YONETANI Tomokazu Subject: Re: ServeRAID semi show stopper (was Re: lots of "exclusive sleep mutex") 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: Wed, 03 Dec 2003 17:30:31 -0000 Clive Lin wrote: > Hi, > > Here comes more helpful ServeRAID related warnings: > > Bad malloc flags: 0 > Stack backtrace: > malloc() of "16" with the following non-sleepable locks held: > exclusive sleep mutex g_xdown r = 0 (0xe1f31cbc) locked @ /usr/src/sys/geom/geom_io.c:355 > Bad uma_zalloc flags: 0 > Stack backtrace: > malloc() of "16" with the following non-sleepable locks held: > exclusive sleep mutex g_xdown r = 0 (0xe1f31cbc) locked @ /usr/src/sys/geom/geom_io.c:355 > malloc() of "16" with the following non-sleepable locks held: > exclusive sleep mutex g_xdown r = 0 (0xe1f31cbc) locked @ /usr/src/sys/geom/geom_io.c:355 > malloc() of "16" with the following non-sleepable locks held: > exclusive sleep mutex g_xdown r = 0 (0xe1f31cbc) locked @ /usr/src/sys/geom/geom_io.c:355 > ( ... repeats ... ) > > The ServeRAID adaptor is > # grep ips /var/run/dmesg.boot > ips0: mem 0xf0000000-0xf3ffffff irq 24 at device 1.0 on pci4 > ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode > ips0: adapter type: ServeRAID 5i II (sarasota) > ips0: logical drives: 1 > ips0: Logical Drive 0: RAID5 sectors: 142192640, state OK > ipsd0: on ips0 > GEOM: create disk ipsd0 dp=0xc6bc1010 > ipsd0: Logical Drive (69430MB) > > To be more specific, it's FreeBSD 5.2-BETA with > hint.acpi.0.disabled=1, running on IBM x225. Everything is ok, except > the ServeRAID warns :) > The patch below will silence this warning. However, the real solution is a lot more complicated and will have to wait for after 5.2. Scott --- ips_commands.c 27 Nov 2003 08:37:36 -0000 1.7 +++ ips_commands.c 3 Dec 2003 17:26:28 -0000 @@ -165,7 +165,7 @@ void ips_start_io_request(ips_softc_t *sc, struct bio *iobuf) { - if(ips_get_free_cmd(sc, ips_send_io_request, iobuf, 0)){ + if(ips_get_free_cmd(sc, ips_send_io_request, iobuf, IPS_NOWAIT_FLAG)){ device_printf(sc->dev, "no mem for command slots!\n"); iobuf->bio_flags |= BIO_ERROR; iobuf->bio_error = ENOMEM;