xfs
[Top] [All Lists]

Re: [PATCH] Inode reclaim fixes (was Re: 2.6.31 xfs_fs_destroy_inode: ca

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH] Inode reclaim fixes (was Re: 2.6.31 xfs_fs_destroy_inode: cannot reclaim)
From: Patrick Schreurs <patrick@xxxxxxxxxxxxxxxx>
Date: Wed, 10 Feb 2010 13:42:57 +0100
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, Tommy van Leeuwen <tommy@xxxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20100209103157.GA5197@xxxxxxxxxxxxx>
References: <4B0A8075.8080008@xxxxxxxxxxxxxxxx> <20091211115932.GA20632@xxxxxxxxxxxxx> <4B3F9F88.9030307@xxxxxxxxxxxxxxxx> <20100107110446.GA13802@xxxxxxxxxxxxxxxx> <4B45CFAC.4000607@xxxxxxxxxxxxxxxx> <20100108113114.GA8654@xxxxxxxxxxxxxxxx> <4B504B03.7050604@xxxxxxxxxxxxxxxx> <4B6706CE.1020207@xxxxxxxxxxxxxxxx> <20100208194226.GD9527@xxxxxxxxxxxxx> <4B712166.9010701@xxxxxxxxxxxxxxxx> <20100209103157.GA5197@xxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1
On 9-2-2010 11:31, Christoph Hellwig wrote:
On Tue, Feb 09, 2010 at 09:48:38AM +0100, Patrick Schreurs wrote:
This is a clean 2.6.32.3 with the xfs-inode-reclaim-2.6.32 patch i
received from Dave on January 8th (see attachment).

I can't find anything interesting regarding I_RECLAIMABLE manipulation
in there.  The only thing I could think off going wrong is i_flags
and i_update_core sitting in the same word and the compiler causing
some read-modify-write cycles for it.  Can you test the patch below?
It fixes the abose issue up, and to make sure sure the assert you hit
isn't as lethal changes it into a WARN_ON, which will still print the
backtrace, but not crash the machine.

Thanks for the patch. After having this patch applied we saw *a lot* warnings. They all look like this:

Feb 10 13:20:38 sb06 kernel: ------------[ cut here ]------------
Feb 10 13:20:38 sb06 kernel: WARNING: at fs/xfs/linux-2.6/xfs_sync.c:768 xfs_reclaim_inode_now+0x3d/0x84()
Feb 10 13:20:38 sb06 kernel: Hardware name: PowerEdge 1950
Feb 10 13:20:38 sb06 kernel: Modules linked in: acpi_cpufreq cpufreq_ondemand ipmi_si ipmi_devintf ipmi_msghandler bonding mptspi serio_raw rng_core scsi_transport_spi bnx2 thermal processor thermal_sys Feb 10 13:20:38 sb06 kernel: Pid: 3145, comm: xfssyncd Not tainted 2.6.32.3 #2
Feb 10 13:20:38 sb06 kernel: Call Trace:
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a897>] ? xfs_reclaim_inode_now+0x3d/0x84 Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a897>] ? xfs_reclaim_inode_now+0x3d/0x84 Feb 10 13:20:38 sb06 kernel: [<ffffffff8102e8c9>] ? warn_slowpath_common+0x77/0xa3 Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a897>] ? xfs_reclaim_inode_now+0x3d/0x84 Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b130>] ? xfs_inode_ag_walk+0x68/0xa2 Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a85a>] ? xfs_reclaim_inode_now+0x0/0x84 Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b1ba>] ? xfs_inode_ag_iterator+0x50/0x7e Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a85a>] ? xfs_reclaim_inode_now+0x0/0x84 Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b224>] ? xfs_sync_worker+0x26/0x52
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113aa79>] ? xfssyncd+0x123/0x180
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a956>] ? xfssyncd+0x0/0x180
Feb 10 13:20:38 sb06 kernel: [<ffffffff8103f5cd>] ? kthread+0x79/0x81
Feb 10 13:20:38 sb06 kernel: [<ffffffff8100bcda>] ? child_rip+0xa/0x20
Feb 10 13:20:38 sb06 kernel: [<ffffffff8103f554>] ? kthread+0x0/0x81
Feb 10 13:20:38 sb06 kernel: [<ffffffff8100bcd0>] ? child_rip+0x0/0x20
Feb 10 13:20:38 sb06 kernel: ---[ end trace 1ae862ca12666a87 ]---

and some look like this:

Feb 10 13:20:38 sb06 kernel: ------------[ cut here ]------------
Feb 10 13:20:38 sb06 kernel: WARNING: at fs/xfs/linux-2.6/xfs_sync.c:768 xfs_reclaim_inode_now+0x3d/0x84()
Feb 10 13:20:38 sb06 kernel: Hardware name: PowerEdge 1950
Feb 10 13:20:38 sb06 kernel: Modules linked in: acpi_cpufreq cpufreq_ondemand ipmi_si ipmi_devintf ipmi_msghandlerspes 13<f3dat? ff4ode_now+0x0/0x84 Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b1ba>]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? ff4ode_n]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? xff4ode_n]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? xff4ode_n]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospies 13<f3dat? ff4ode]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? xff4ode_now+0x0/0x84 Feb 10 13:20:38 sb06 kernel: [<ffffff]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<ode_]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? ff4ode_now+0x0/0]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? ff4ode_now+0x0/0x]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? ff4ode_no]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? ff4ode_now+0x0/0x84 Feb 10 13:20:38 sb06 kernel: [<fff]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? ff4ode_now+]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? ff4>ode_no]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? xff4ode_now+]n2r4a 2f1>nx85k7[<4x0-[e :7we_ospes 13<f3dat? xff4ode_now+0x0/0x84 Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b1ba>] ? xfs_inode_ag_iterator+0x50/0x7e Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a85a>] ? xfs_reclaim_inode_now+0x0/0x84 Feb 10 13:20:38 sb06 kernel: [<ffffffff8113b224>] ? xfs_sync_worker+0x26/0x52
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113aa79>] ? xfssyncd+0x123/0x180
Feb 10 13:20:38 sb06 kernel: [<ffffffff8113a956>] ? xfssyncd+0x0/0x180
Feb 10 13:20:38 sb06 kernel: [<ffffffff8103f5cd>] ? kthread+0x79/0x81
Feb 10 13:20:38 sb06 kernel: [<ffffffff8100bcda>] ? child_rip+0xa/0x20
Feb 10 13:20:38 sb06 kernel: [<ffffffff8103f554>] ? kthread+0x0/0x81
Feb 10 13:20:38 sb06 kernel: [<ffffffff8100bcd0>] ? child_rip+0x0/0x20
Feb 10 13:20:38 sb06 kernel: ---[ end trace 1ae862ca12666b1c ]---

I hope this clarifies things. If you need more info, don't hesitate to contact me.

Thanks,

-Patrick

<Prev in Thread] Current Thread [Next in Thread>