From: Dave Chinner <david@fromorbit.com>
To: Peter Watkins <treestem@gmail.com>
Cc: xfs@oss.sgi.com
Subject: Re: xfs_iomap_write_unwritten stuck in congestion_wait?
Date: Thu, 4 Apr 2013 15:00:41 +1100 [thread overview]
Message-ID: <20130404040041.GB12011@dastard> (raw)
In-Reply-To: <CAH4wwdF+gQTnbUR89e2KCUUJfS_cT_09wzmS55vys5rfbStW7Q@mail.gmail.com>
On Wed, Apr 03, 2013 at 03:33:11PM -0400, Peter Watkins wrote:
> Hello,
>
> Wondering if anyone has a suggestion for when
> xfs_iomap_write_unwritten gets into congestion_wait.
Do less IO?
> In this case the system has almost half of normal zone pages in
> NR_WRITEBACK with pretty much everybody held up in either
> congestion_wait or balance_dirty_pages.
Which is excessive - how are you getting to the point of having that
many pages under IO at once? Writeback depth is limited by the IO
elevator queue depths, so this shouldn't happen unless you've been
tweaking block device parameters (i.e. nr_requests/max_sectors_kb)...
> Since there are some free pages, seems like we'd be better off just
> using a little more memory to finish this IO and in turn reduce pages
> under write-back and add to free memory, rather than holding up here.
> So maybe PF_MEMALLOC?
Definitely not. Unwritten extent conversion can require hundreds of
kilobytes of memory to complete, so all this will do is trigger even
further exhaustion of memory reserves before we block on IO.
> It also looks like this path allocates log vectors with KM_SLEEP but
> lv_buf's with KM_SLEEP|KM_NOFS. Why is that?
The transaction commit is copying the changes made into separate
buffers to insert into the CIL for a later checkpoint to write to
disk. This is normal behaviour - we can sleep there, but we cannot
allow memory reclaim to recurse into the filesystem (for obvious
reasons).
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:[~2013-04-04 4:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-03 19:33 xfs_iomap_write_unwritten stuck in congestion_wait? Peter Watkins
2013-04-04 4:00 ` Dave Chinner [this message]
2013-04-04 15:50 ` Peter Watkins
2013-04-04 20:25 ` 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=20130404040041.GB12011@dastard \
--to=david@fromorbit.com \
--cc=treestem@gmail.com \
--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