All of lore.kernel.org
 help / color / mirror / Atom feed
From: NeilBrown <neilb@suse.de>
To: Rik van Riel <riel@redhat.com>
Cc: Jan Kara <jack@suse.cz>, Jeff Layton <jlayton@redhat.com>,
	Trond Myklebust <trond.myklebust@primarydata.com>,
	Dave Chinner <david@fromorbit.com>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Mel Gorman <mgorman@suse.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-nfs@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/5] nfsd: Only set PF_LESS_THROTTLE when really needed.
Date: Mon, 12 May 2014 11:04:37 +1000	[thread overview]
Message-ID: <20140512110437.296846ad@notabene.brown> (raw)
In-Reply-To: <53694E7D.6060706@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1815 bytes --]

On Tue, 06 May 2014 17:05:01 -0400 Rik van Riel <riel@redhat.com> wrote:

> On 04/22/2014 10:40 PM, NeilBrown wrote:
> > PF_LESS_THROTTLE has a very specific use case: to avoid deadlocks
> > and live-locks while writing to the page cache in a loop-back
> > NFS mount situation.
> > 
> > It therefore makes sense to *only* set PF_LESS_THROTTLE in this
> > situation.
> > We now know when a request came from the local-host so it could be a
> > loop-back mount.  We already know when we are handling write requests,
> > and when we are doing anything else.
> > 
> > So combine those two to allow nfsd to still be throttled (like any
> > other process) in every situation except when it is known to be
> > problematic.
> 
> The FUSE code has something similar, but on the "client"
> side.
> 
> See BDI_CAP_STRICTLIMIT in mm/writeback.c
> 
> Would it make sense to use that flag on loopback-mounted
> NFS filesystems?
> 

I don't think so.

I don't fully understand BDI_CAP_STRICTLIMIT, but it seems to be very
fuse-specific and relates to NR_WRITEBACK_TEMP, which only fuse uses.  NFS
doesn't need any 'strict' limits.
i.e. it looks like fuse-specific code inside core-vm code, which I would
rather steer clear of.

Setting a bdi flag for a loopback-mounted NFS filesystem isn't really
possible because it "is it loopback mounted" state is fluid.  IP addresses can
be migrated (for HA cluster failover) and what was originally a remote-NFS
mount can become a loopback NFS mount (and that is exactly the case I need to
deal with).

So we can only really assess "is it loop-back" on a per-request basis.

This patch does that assessment in nfsd to limit the use of PF_LESS_THROTTLE.
Another patch does it in nfs to limit the waiting in nfs_release_page.

Thanks,
NeilBrown

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

  reply	other threads:[~2014-05-12  1:04 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-23  2:40 [PATCH/RFC 0/5] Support loop-back NFS mounts - take 2 NeilBrown
2014-04-23  2:40 ` NeilBrown
2014-04-23  2:40 ` [PATCH 3/5] nfsd: Only set PF_LESS_THROTTLE when really needed NeilBrown
2014-04-23  2:40   ` NeilBrown
2014-05-06 20:54   ` J. Bruce Fields
2014-05-06 20:54     ` J. Bruce Fields
2014-05-12  1:05     ` NeilBrown
2014-05-06 21:05   ` Rik van Riel
2014-05-06 21:05     ` Rik van Riel
2014-05-12  1:04     ` NeilBrown [this message]
2014-05-12 15:32       ` Jan Kara
2014-05-12 15:32         ` Jan Kara
2014-04-23  2:40 ` [PATCH 1/5] MM: avoid throttling reclaim for loop-back nfsd threads NeilBrown
2014-04-23  2:40   ` NeilBrown
2014-04-23 22:03   ` Andrew Morton
2014-04-23 22:03     ` Andrew Morton
2014-04-23 22:47     ` NeilBrown
2014-04-23  2:40 ` [PATCH 5/5] NFS: avoid deadlocks with loop-back mounted NFS filesystems NeilBrown
2014-04-23  2:40   ` NeilBrown
2014-04-23  2:40 ` [PATCH 4/5] SUNRPC: track when a client connection is routed to the local host NeilBrown
2014-04-23  2:40   ` NeilBrown
2014-04-23 13:44   ` Anna Schumaker
2014-04-23 13:44     ` Anna Schumaker
2014-04-23 23:14     ` NeilBrown
2014-04-23 23:14       ` NeilBrown
2014-04-24 12:46       ` Anna Schumaker
2014-04-24 12:46         ` Anna Schumaker
2014-04-23  2:40 ` [PATCH 2/5] SUNRPC: track whether a request is coming from a loop-back interface NeilBrown
2014-04-23  2:40   ` NeilBrown
2014-04-24  1:20 ` [PATCH/RFC 0/5] Support loop-back NFS mounts - take 2 Dave Chinner
2014-04-24  1:20   ` 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=20140512110437.296846ad@notabene.brown \
    --to=neilb@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=bfields@fieldses.org \
    --cc=david@fromorbit.com \
    --cc=jack@suse.cz \
    --cc=jlayton@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=mgorman@suse.com \
    --cc=riel@redhat.com \
    --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.