Received: with ECARTIS (v1.0.0; list linux-xfs); Sat, 16 Nov 2002 12:57:55 -0800 (PST) Received: from tapu.f00f.org (tapu.f00f.org [66.60.186.129]) by oss.sgi.com (8.12.5/8.12.5) with SMTP id gAGKvouR003767 for ; Sat, 16 Nov 2002 12:57:50 -0800 Received: by tapu.f00f.org (Postfix, from userid 1000) id EFA931F1A8E; Sat, 16 Nov 2002 12:59:42 -0800 (PST) Date: Sat, 16 Nov 2002 12:59:42 -0800 From: Chris Wedgwood To: Zlatko Calusic Cc: Andrew Morton , Andi Kleen , linux-xfs@oss.sgi.com, Keith Owens Subject: Re: xfsdump stuck in io_schedule Message-ID: <20021116205942.GA32365@tapu.f00f.org> References: <20021115135233.A13882@oldwotan.suse.de> <20021115140635.A31836@wotan.suse.de> <3DD57602.857AD62D@digeo.com> <87zns9xwtk.fsf@atlas.iskon.hr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87zns9xwtk.fsf@atlas.iskon.hr> User-Agent: Mutt/1.4i X-No-Archive: Yes X-archive-position: 1749 X-ecartis-version: Ecartis v1.0.0 Sender: linux-xfs-bounce@oss.sgi.com Errors-to: linux-xfs-bounce@oss.sgi.com X-original-sender: cw@f00f.org Precedence: bulk X-list: linux-xfs On Sat, Nov 16, 2002 at 06:12:55PM +0100, Zlatko Calusic wrote: > Chris, unfortunately here I have exactly the same problems with the > code from CVS pulled today, so the bug is not really solved. I'll try and older kernel then and see if I can reproduce it, for whatever reason right now, I'm having no luck making this happen again. Oddly, I *always* got the hang at the start of a dump which followed a previous dump... and at the start xfsdump does call blkstat at about where the problem was occurring so I'm getting suspicious of that again. I have code that uses blkstat as a test, I'll see if I can cause a lockup running that in a loop whilst grinding the VM hard. > pressed Alt-Sysrq-T after the xfsdump got stuck and got this: > [xfs_bulkstat+2123/2824] xfs_bulkstat+0x84b/0xb08 [...] > [xfs_inactive_free_eofblocks+176/548] xfs_inactive_free_eofblocks+0xb0/0x224 I cant see how those can both be in the same call path. Have you tried without preempt? I wondered if that might aggregate things? > I have kdb compiled in the kernel but I forgot how to use (drop > into) it. Pressing Pause key, like documentation says, doesn't work. 2.5.x is missing the hook for this, Keith sent me this patch so enable again. --- drivers/char/keyboard.c.orig Sat Oct 12 18:29:31 2002 +++ drivers/char/keyboard.c Wed Nov 13 08:58:22 2002 @@ -41,6 +41,9 @@ #include #include #include +#ifdef CONFIG_KDB +#include +#endif /* CONFIG_KDB */ static void kbd_disconnect(struct input_handle *handle); extern void ctrl_alt_del(void); @@ -1029,6 +1032,13 @@ if (emulate_raw(vc, keycode, !down << 7)) printk(KERN_WARNING "keyboard.c: can't emulate rawmode for keycode %d\n", keycode); +#ifdef CONFIG_KDB + if (down && keycode == KEY_PAUSE && kdb_on) { + kdb(KDB_REASON_KEYBOARD, 0, kbd_pt_regs); + return; + } +#endif /* CONFIG_KDB */ + #ifdef CONFIG_MAGIC_SYSRQ /* Handle the SysRq Hack */ if (keycode == KEY_SYSRQ && !rep) { sysrq_down = sysrq_alt && down; 'GO' doesn't continue running as expected though, kdb just renters as if it hadn't noticed had been released. For me this wasn't a problem however. --cw