From: Dave Chinner <david@fromorbit.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: xfs@oss.sgi.com
Subject: Re: [PATCH 02/17] xfs: skip writeback from reclaim context
Date: Thu, 3 Jun 2010 09:02:09 +1000 [thread overview]
Message-ID: <20100602230209.GA27325@dastard> (raw)
In-Reply-To: <20100602100812.GA25035@infradead.org>
On Wed, Jun 02, 2010 at 06:08:12AM -0400, Christoph Hellwig wrote:
> On Wed, Jun 02, 2010 at 02:39:57PM +1000, Dave Chinner wrote:
> > Also worth thinking about is if should be checked in
> > xfs_vm_releasepage() as well to avoid the same stack issues if it
> > triggers allocation...
>
> I agree this is a potential problem as well.
>
> I did some QA runs with this thrown in, and it causes massive OOM killer
> wreckage in xfstests. I've also cross-checked btrfs and ext4 and
> neither one skips ->releasepage from reclaim context.
Did you skip it unconditionally, or only when a transaction was
required?
The scary part is that I've seen stack traces (i.e. most stack used)
through this reclaim path for delalloc conversion even for
allocations that are GFP_NOFS and the only thing saving us from
deadlocks is th PF_FSTRANS check. Even worse is that
shrinker_page_list() will call try_to_release_pages() without
checking whether it's allowed to enter the filesystem or not, so we
can be doing block allocation in places we've specifically told the
memory allocation subsystem not to....
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2010-06-02 22:59 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-31 16:07 [PATCH 00/17] pending patches Christoph Hellwig
2010-05-31 16:07 ` [PATCH 01/17] xfs: remove done roadmap item from xfs-delayed-logging-design.txt Christoph Hellwig
2010-06-02 4:33 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 02/17] xfs: skip writeback from reclaim context Christoph Hellwig
2010-06-02 4:39 ` Dave Chinner
2010-06-02 10:08 ` Christoph Hellwig
2010-06-02 23:02 ` Dave Chinner [this message]
2010-06-03 6:52 ` Christoph Hellwig
2010-05-31 16:07 ` [PATCH 03/17] xfs: improve xfs_isilocked Christoph Hellwig
2010-06-02 4:41 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 04/17] xfs: drop dmapi hooks Christoph Hellwig
2010-06-02 4:45 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 05/17] xfs: remove unneeded #include statements Christoph Hellwig
2010-06-02 4:45 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 06/17] xfs: simplify log item descriptor tracking Christoph Hellwig
2010-06-02 5:11 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 07/17] xfs: merge iop_unpin_remove into iop_unpin Christoph Hellwig
2010-06-02 5:14 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 08/17] xfs: give xfs_item_ops methods the correct prototypes Christoph Hellwig
2010-06-02 5:30 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 09/17] xfs: give li_cb callbacks the correct prototype Christoph Hellwig
2010-06-02 5:45 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 10/17] xfs: simplify buffer pinning Christoph Hellwig
2010-06-02 5:47 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 11/17] xfs: simplify inode to transaction joining Christoph Hellwig
2010-06-02 5:57 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 12/17] xfs: fix the xfs_log_iovec i_addr type Christoph Hellwig
2010-06-02 6:01 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 13/17] xfs: kill the unused xlog_debug variable Christoph Hellwig
2010-06-02 6:02 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 14/17] xfs: remove the unused XFS_LOG_SLEEP and XFS_LOG_NOSLEEP flags Christoph Hellwig
2010-06-02 6:02 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 15/17] xfs: remove the unused XFS_TRANS_NOSLEEP/XFS_TRANS_WAIT flags Christoph Hellwig
2010-06-02 6:03 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 16/17] xfs: remove unused XFS_BMAPI_ flags Christoph Hellwig
2010-06-02 6:04 ` Dave Chinner
2010-05-31 16:07 ` [PATCH 17/17] xfs: remove unused delta tracking code in xfs_bmapi Christoph Hellwig
2010-06-02 6:11 ` Dave Chinner
2010-06-02 6:13 ` [PATCH 00/17] pending patches Dave Chinner
2010-06-03 17:01 ` Alex Elder
2010-06-03 17:08 ` dropping dmapi support, was " Christoph Hellwig
2010-06-03 22:33 ` Dave Chinner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100602230209.GA27325@dastard \
--to=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox