All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Dave Chinner <david@fromorbit.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	Brian Foster <bfoster@redhat.com>,
	xfs@oss.sgi.com
Subject: Re: [PATCH 2/4] xfs: Introduce writeback context for writepages
Date: Tue, 1 Sep 2015 00:41:03 -0700	[thread overview]
Message-ID: <20150901074103.GA27231@infradead.org> (raw)
In-Reply-To: <20150831221743.GI26895@dastard>

On Tue, Sep 01, 2015 at 08:17:43AM +1000, Dave Chinner wrote:
> The patch changes the bio allocation patterns - it allocates them on
> the fly and holds them, so we could potentially exhaust the bio
> mempool with this submission technique.

I've spend time to look over the patch again, and still don't see
a change.  Both in the old and new code we walk over the ioends
and build bios on the fly in xfs_submit_ioend(), which is always
called near then end of the writeback code; at the end of
xfs_vm_writepage in the old version, and from the end of
xfs_vm_writepage/xfs_vm_writepages through xfs_writepage_submit in
the new code (not taking the error case into account, which probably
should moe there, too).

The only big difference is..

> The ioend allocation pattern
> is different, too, because we only used to have 1 per buffer on a
> writepage call and the last one was used for the write clustering.

.. that we now build up way bigger ioend chains.


So back to Brians concern:  we can now have fairly large piles of
ioends built up while potentially getting scheduled out, and this
does look like a potential real issue to me.  I wonder if we should
(ab-)use the blk_plug_cb infrastructure so that we can flush the
pending ioends out on a context switch?

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2015-09-01  7:41 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-25  5:05 [PATCH 0/4 v2] xfs: get rid of xfs_cluster_write() Dave Chinner
2015-08-25  5:05 ` [PATCH 1/4] xfs: remove nonblocking mode from xfs_vm_writepage Dave Chinner
2015-08-31 18:41   ` Christoph Hellwig
2015-08-25  5:05 ` [PATCH 2/4] xfs: Introduce writeback context for writepages Dave Chinner
2015-08-31 18:02   ` Brian Foster
2015-08-31 18:56     ` Christoph Hellwig
2015-08-31 22:17       ` Dave Chinner
2015-09-01  7:41         ` Christoph Hellwig [this message]
2015-11-10 23:25           ` Dave Chinner
2015-11-11 11:32             ` Christoph Hellwig
2016-02-08  7:36   ` Christoph Hellwig
2016-02-08  7:54     ` Christoph Hellwig
2016-02-08 20:21       ` Dave Chinner
2016-02-09  9:11         ` Christoph Hellwig
2015-08-25  5:05 ` [PATCH 3/4] xfs: xfs_cluster_write is redundant Dave Chinner
2015-08-25  5:05 ` [PATCH 4/4] xfs: factor mapping out of xfs_do_writepage 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=20150901074103.GA27231@infradead.org \
    --to=hch@infradead.org \
    --cc=bfoster@redhat.com \
    --cc=david@fromorbit.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.