From owner-freebsd-hackers@FreeBSD.ORG Fri Aug 12 12:46:45 2005 Return-Path: X-Original-To: hackers@freebsd.org Delivered-To: freebsd-hackers@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 70A8516A41F for ; Fri, 12 Aug 2005 12:46:45 +0000 (GMT) (envelope-from anderson@centtech.com) Received: from mh1.centtech.com (moat3.centtech.com [207.200.51.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0EA9A43D53 for ; Fri, 12 Aug 2005 12:46:44 +0000 (GMT) (envelope-from anderson@centtech.com) Received: from [10.177.171.171] (dhcp-171-171.centtech.com [10.177.171.171]) by mh1.centtech.com (8.13.1/8.13.1) with ESMTP id j7CCkfAp087141; Fri, 12 Aug 2005 07:46:41 -0500 (CDT) (envelope-from anderson@centtech.com) Message-ID: <42FC9A45.9000500@centtech.com> Date: Fri, 12 Aug 2005 07:47:01 -0500 From: Eric Anderson User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.10) Gecko/20050809 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Eric Anderson References: <20050803183010.X32344@geri.cc.fer.hr> <42FC9740.3060609@centtech.com> In-Reply-To: <42FC9740.3060609@centtech.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.82/1011/Tue Aug 9 04:20:28 2005 on mh1.centtech.com X-Virus-Status: Clean Cc: hackers@freebsd.org, Ivan Voras Subject: Re: gjournal public alpha release X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Aug 2005 12:46:45 -0000 Eric Anderson wrote: > Ivan Voras wrote: > >> Hi! >> >> I'm announcing the first public version of the gjournal GEOM class :) >> The code is here: http://ivoras.sharanet.org/gjournal.tgz, together with >> a README file (reproduced below). >> >> I'd like to hear as many testing and bug reports as possible :) > > > [..snip..] > > Bug report: > > /dev/md0 is a mdconfig'ed 3gb drive sitting atop an IDE disk. md1 is a > mdconfiged mmap'ed disk for the journal. > > > bash-2.05b# ./gjournal label testjournal /dev/md0 /dev/md1 > **Number of arguments: 3 > bash-2.05b# dmesg > GEOM_JOURNAL[0]: Creating device testjournal (id=3733383246). > GEOM_JOURNAL[0]: Device testjournal created (id=3733383246). > GEOM_JOURNAL[0]: Worker thread for testjournal created > GEOM_JOURNAL[0]: Adding disk md0 to testjournal. > GEOM_JOURNAL[0]: Disk md0 attached to testjournal (data). > GEOM_JOURNAL[0]: Adding disk md1 to testjournal. > GEOM_JOURNAL[0]: Disk md1 attached to testjournal (journal). > GEOM_JOURNAL[0]: Device testjournal activated. > malloc(M_WAITOK) of "gjournal.hl", forcing M_NOWAIT with the following > non-sleepable locks held: > exclusive sleep mutex gjournal:rmap r = 0 (0xc28ad978) locked @ > g_journal.c:748 > KDB: stack backtrace: > kdb_backtrace(1,b82ed800,c21d5b40,3e7,e4147be8) at kdb_backtrace+0x29 > witness_warn(5,0,c0871275,c298d39c,b82ed800) at witness_warn+0x18e > uma_zalloc_arg(c21d5b40,0,2,b7fd4a00,0) at uma_zalloc_arg+0x41 > hl_find_interval(c5293000,b82ed800,0,200,c28ad978) at hl_find_interval+0xbd > g_journal_journal_read(c21a9a0c,c28ad948,0,152e5,5790b0f0) at > g_journal_journal_read+0x47 > g_journal_worker(c28ad900,e4147d38,c28ad900,c2989258,0) at > g_journal_worker+0x9b2 > fork_exit(c2989258,c28ad900,e4147d38) at fork_exit+0xa0 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xe4147d6c, ebp = 0 --- > malloc(M_WAITOK) of "gjournal.hl", forcing M_NOWAIT with the following > non-sleepable locks held: > exclusive sleep mutex gjournal:rmap r = 0 (0xc28ad978) locked @ > g_journal.c:748 > KDB: stack backtrace: > kdb_backtrace(1,0,c21d5b40,1,e4147be8) at kdb_backtrace+0x29 > witness_warn(5,0,c0871275,c298d39c,0) at witness_warn+0x18e > uma_zalloc_arg(c21d5b40,0,2,0,0) at uma_zalloc_arg+0x41 > hl_find_interval(c5293000,0,0,200,c28ad978) at hl_find_interval+0xbd > g_journal_journal_read(c21a9a0c,c28ad948,0,152e5,5790b0f0) at > g_journal_journal_read+0x47 > g_journal_worker(c28ad900,e4147d38,c28ad900,c2989258,0) at > g_journal_worker+0x9b2 > fork_exit(c2989258,c28ad900,e4147d38) at fork_exit+0xa0 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xe4147d6c, ebp = 0 --- > malloc(M_WAITOK) of "gjournal.hl", forcing M_NOWAIT with the following > non-sleepable locks held: > exclusive sleep mutex gjournal:rmap r = 0 (0xc28ad978) locked @ > g_journal.c:748 > KDB: stack backtrace: > kdb_backtrace(1,200,c21d5b40,0,e4147be8) at kdb_backtrace+0x29 > witness_warn(5,0,c0871275,c298d39c,200) at witness_warn+0x18e > uma_zalloc_arg(c21d5b40,0,2,2f2600,0) at uma_zalloc_arg+0x41 > hl_find_interval(c5293000,200,0,200,c28ad978) at hl_find_interval+0xbd > g_journal_journal_read(c21a9a0c,c28ad948,0,152e5,5790b0f0) at > g_journal_journal_read+0x47 > g_journal_worker(c28ad900,e4147d38,c28ad900,c2989258,0) at > g_journal_worker+0x9b2 > fork_exit(c2989258,c28ad900,e4147d38) at fork_exit+0xa0 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xe4147d6c, ebp = 0 --- > malloc(M_WAITOK) of "gjournal.hl", forcing M_NOWAIT with the following > non-sleepable locks held: > exclusive sleep mutex gjournal:rmap r = 0 (0xc28ad978) locked @ > g_journal.c:748 > KDB: stack backtrace: > kdb_backtrace(1,0,c21d5b40,1,e4147be8) at kdb_backtrace+0x29 > witness_warn(5,0,c0871275,c298d39c,0) at witness_warn+0x18e > uma_zalloc_arg(c21d5b40,0,2,0,0) at uma_zalloc_arg+0x41 > hl_find_interval(c5293000,0,0,200,c28ad978) at hl_find_interval+0xbd > g_journal_journal_read(c21a9a0c,c28ad948,0,152e5,5790b0f0) at > g_journal_journal_read+0x47 > g_journal_worker(c28ad900,e4147d38,c28ad900,c2989258,0) at > g_journal_worker+0x9b2 > fork_exit(c2989258,c28ad900,e4147d38) at fork_exit+0xa0 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xe4147d6c, ebp = 0 --- > malloc(M_WAITOK) of "gjournal.hl", forcing M_NOWAIT with the following > non-sleepable locks held: > exclusive sleep mutex gjournal:rmap r = 0 (0xc28ad978) locked @ > g_journal.c:748 > KDB: stack backtrace: > kdb_backtrace(1,0,c21d5b40,1,e4147be8) at kdb_backtrace+0x29 > witness_warn(5,0,c0871275,c298d39c,0) at witness_warn+0x18e > uma_zalloc_arg(c21d5b40,0,2,0,0) at uma_zalloc_arg+0x41 > hl_find_interval(c5293000,0,0,400,c28ad978) at hl_find_interval+0xbd > g_journal_journal_read(c21a9a0c,c28ad948,0,152e5,5790b0f0) at > g_journal_journal_read+0x47 > g_journal_worker(c28ad900,e4147d38,c28ad900,c2989258,0) at > g_journal_worker+0x9b2 > fork_exit(c2989258,c28ad900,e4147d38) at fork_exit+0xa0 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xe4147d6c, ebp = 0 --- > malloc(M_WAITOK) of "gjournal.hl", forcing M_NOWAIT with the following > non-sleepable locks held: > exclusive sleep mutex gjournal:rmap r = 0 (0xc28ad978) locked @ > g_journal.c:748 > KDB: stack backtrace: > kdb_backtrace(1,b82ed800,c21d5b40,3e7,e4147be8) at kdb_backtrace+0x29 > witness_warn(5,0,c0871275,c298d39c,b82ed800) at witness_warn+0x18e > uma_zalloc_arg(c21d5b40,0,2,b7fd4a00,0) at uma_zalloc_arg+0x41 > hl_find_interval(c5293000,b82ed800,0,200,c28ad978) at hl_find_interval+0xbd > g_journal_journal_read(c21a9a0c,c28ad948,0,152e5,5790b0f0) at > g_journal_journal_read+0x47 > g_journal_worker(c28ad900,e4147d38,c28ad900,c2989258,0) at > g_journal_worker+0x9b2 > fork_exit(c2989258,c28ad900,e4147d38) at fork_exit+0xa0 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xe4147d6c, ebp = 0 --- > > Not to mention once I have the /dev/journeled/testjournal mounted, I get a streaming spewage of those messages in /var/log/messages, which causes syslogd to crank to 99% CPU, and the performance to be horrible as you'd expect with no CPU to do anything. Eric -- ------------------------------------------------------------------------ Eric Anderson Sr. Systems Administrator Centaur Technology Anything that works is better than anything that doesn't. ------------------------------------------------------------------------