Date: Fri, 12 Aug 2005 07:47:01 -0500 From: Eric Anderson <anderson@centtech.com> To: Eric Anderson <anderson@centtech.com> Cc: hackers@freebsd.org, Ivan Voras <ivoras@fer.hr> Subject: Re: gjournal public alpha release Message-ID: <42FC9A45.9000500@centtech.com> In-Reply-To: <42FC9740.3060609@centtech.com> References: <20050803183010.X32344@geri.cc.fer.hr> <42FC9740.3060609@centtech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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. ------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42FC9A45.9000500>