Re: xfs Oops 2.6.12-rc4 Badness in xfs_page_state_convert

From: Darren Williams <dsw_at_gelato.unsw.edu.au>
Date: 2005-05-14 15:17:29
Hi Greg

On Fri, 13 May 2005, Greg Edwards wrote:

> On Sat, May 14, 2005 at 01:57:29AM +1000, Darren Williams wrote:
> | Hi all
> |  I have been benchmarking on an Altix 350 4way and upon
> | upgrading from 2.6.12-rc3 -> rc4 Git tree-id 
> | eed337ef5e9ae7d62caa84b7974a11fddc7f06e0 using the sn2_defconfig
> | with # CONFIG_MODULES is not set, I am seeing a constant stream of
> | the following Oops:
> | 
> | Badness in xfs_page_state_convert at 
> | /usr/src/dsw/SanJose/git-linux/fs/xfs/linux-2.6/xfs_aops.c:889
> | 
> | Call Trace:
> |  [<a000000100010280>] show_stack+0x80/0xa0
> |                                 sp=e00000b0f608f8f0 bsp=e00000b0f6089380
> |  [<a0000001000102d0>] dump_stack+0x30/0x60
> |                                 sp=e00000b0f608fac0 bsp=e00000b0f6089368
> |  [<a0000001003a0cf0>] xfs_page_state_convert+0x530/0xac0
> |                                 sp=e00000b0f608fac0 bsp=e00000b0f6089290
> |  [<a0000001003a1fa0>] linvfs_writepage+0x120/0x240
> |                                 sp=e00000b0f608fc00 bsp=e00000b0f6089258
> |  [<a00000010018c5d0>] mpage_writepages+0x530/0x7e0
> |                                 sp=e00000b0f608fc10 bsp=e00000b0f6089178
> |  [<a0000001000fa760>] do_writepages+0xe0/0x100
> |                                 sp=e00000b0f608fcb0 bsp=e00000b0f6089150
> |  [<a0000001001888d0>] __sync_single_inode+0xb0/0x500
> |                                 sp=e00000b0f608fcb0 bsp=e00000b0f60890e8
> |  [<a000000100188e40>] __writeback_single_inode+0x120/0x320
> |                                 sp=e00000b0f608fcb0 bsp=e00000b0f60890a0
> |  [<a0000001001894e0>] sync_sb_inodes+0x4a0/0x6e0
> |                                 sp=e00000b0f608fd30 bsp=e00000b0f6088fd8
> |  [<a0000001001899f0>] writeback_inodes+0x2d0/0x300
> |                                 sp=e00000b0f608fd30 bsp=e00000b0f6088f80
> |  [<a0000001000fa140>] wb_kupdate+0x220/0x320
> |                                 sp=e00000b0f608fd30 bsp=e00000b0f6088f28
> |  [<a0000001000fb8a0>] __pdflush+0x240/0x420
> |                                 sp=e00000b0f608fda0 bsp=e00000b0f6088e90
> |  [<a0000001000fbac0>] pdflush+0x40/0x60
> |                                 sp=e00000b0f608fda0 bsp=e00000b0f6088e78
> |  [<a0000001000d5d70>] kthread+0x1f0/0x200
> |                                 sp=e00000b0f608fdd0 bsp=e00000b0f6088e38
> |  [<a0000001000125d0>] kernel_thread_helper+0xd0/0x100
> |                                 sp=e00000b0f608fe30 bsp=e00000b0f6088e10
> |  [<a000000100009120>] start_kernel_thread+0x20/0x40
> |                                 sp=e00000b0f608fe30 bsp=e00000b0f6088e10
> |   
> | This patch introduces the WARN_ON
> | http://www.kernel.org/git/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=24e17b5fb99d4d1b47fe0847a3a801e36d431ff6
> 
> We hit this internally as well with our tests.  Christoph suggested the
> following:
> 
> We're trylocking now if wbc->sync_mode is WB_SYNC_NONE, so having
> page_dirty set on startio isn't fatal.  It should go away with the patch
> below:
> 
> Index: linux-2.6/fs/xfs/linux-2.6/xfs_aops.c
> ===================================================================
> --- linux-2.6.orig/fs/xfs/linux-2.6/xfs_aops.c	2005-05-06
> 13:36:10.000000000 +0200
> +++ linux-2.6/fs/xfs/linux-2.6/xfs_aops.c	2005-05-10
> 10:33:37.000000000 +0200
> @@ -886,7 +886,7 @@
>  		SetPageUptodate(page);
>  
>  	if (startio) {
> -		WARN_ON(page_dirty);
> +		WARN_ON(page_dirty && wbc->sync_mode != WB_SYNC_NONE);
>  		xfs_submit_page(page, wbc, bh_arr, cnt, 0, !page_dirty);
>  	}

Thanks Greg, that fixes it.

 - dsw

--------------------------------------------------
Darren Williams <dsw AT gelato.unsw.edu.au>
Gelato@UNSW <www.gelato.unsw.edu.au>
--------------------------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Sat May 14 01:17:44 2005

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:38 EST