All of lore.kernel.org
 help / color / mirror / Atom feed
From: bfields@fieldses.org (J. Bruce Fields)
To: Trond Myklebust <trond.myklebust@primarydata.com>
Cc: Anna Schumaker <anna.schumaker@netapp.com>, linux-nfs@vger.kernel.org
Subject: Re: [PATCH RESEND 0/3] Improvements to page writeback commit policy
Date: Fri, 23 Jun 2017 10:56:57 -0400	[thread overview]
Message-ID: <20170623145657.GA31966@fieldses.org> (raw)
In-Reply-To: <20170620233539.22417-1-trond.myklebust@primarydata.com>

On Tue, Jun 20, 2017 at 07:35:35PM -0400, Trond Myklebust wrote:
> The following patches are intended to smooth out the page writeback
> performance by ensuring that we commit the data earlier on the server.

Was there some particular benchmark or hardware setup that motivated
doing this now?

--b.

> 
> We assume that if something is starting writeback on the pages, then
> that process wants to commit the data as soon as possible, whether it
> is an application or just the background flush process.
> We also assume that for streaming type processes, we don't want to pause
> the I/O in order to commit, so we don't want to rely on a counter of
> in-flight I/O to the entire inode going to zero.
> 
> We therefore set up a monitor that counts the number of in-flight
> writes for each call to nfs_writepages(). Once all the writes to that
> call to nfs_writepages has completed, we send the commit. Note that this
> mirrors the behaviour for O_DIRECT writes, where we similarly track the
> in-flight writes on a per-call basis.
> 
> Trond Myklebust (3):
>   NFS: Remove unused fields in the page I/O structures
>   NFS: Ensure we commit after writeback is complete
>   NFS: Fix commit policy for non-blocking calls to nfs_write_inode()
> 
>  fs/nfs/pagelist.c        |  5 ++--
>  fs/nfs/write.c           | 59 +++++++++++++++++++++++++++++++++++++++++++++++-
>  include/linux/nfs_page.h |  2 +-
>  include/linux/nfs_xdr.h  |  3 ++-
>  4 files changed, 64 insertions(+), 5 deletions(-)
> 
> -- 
> 2.9.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2017-06-23 14:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-20 23:35 [PATCH RESEND 0/3] Improvements to page writeback commit policy Trond Myklebust
2017-06-20 23:35 ` [PATCH RESEND 1/3] NFS: Remove unused fields in the page I/O structures Trond Myklebust
2017-06-20 23:35   ` [PATCH RESEND 2/3] NFS: Ensure we commit after writeback is complete Trond Myklebust
2017-06-20 23:35     ` [PATCH RESEND 3/3] NFS: Fix commit policy for non-blocking calls to nfs_write_inode() Trond Myklebust
2017-06-20 23:35       ` [PATCH] SUNRPC: Make slot allocation more reliable Trond Myklebust
2017-06-21 14:31 ` [PATCH RESEND 0/3] Improvements to page writeback commit policy Chuck Lever
2017-06-23 20:48   ` Chuck Lever
2017-06-23 21:17     ` Trond Myklebust
2017-06-23 21:35       ` Chuck Lever
2017-06-23 14:56 ` J. Bruce Fields [this message]
2017-06-23 15:25   ` Trond Myklebust
2017-06-23 15:29     ` Trond Myklebust

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=20170623145657.GA31966@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=anna.schumaker@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trond.myklebust@primarydata.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.