All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Jeff Layton <jlayton@redhat.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH v2 0/8] nfsd: duplicate reply cache overhaul
Date: Mon, 4 Feb 2013 10:56:04 -0500	[thread overview]
Message-ID: <20130204155604.GC815@fieldses.org> (raw)
In-Reply-To: <1359983887-28535-1-git-send-email-jlayton@redhat.com>

On Mon, Feb 04, 2013 at 08:17:59AM -0500, Jeff Layton wrote:
> This is the second posting of the remaining unmerged patches in this
> set. There are a number of differences from the first set:
> 
> - The bug in the checksum patch has been fixed.
> 
> - A hard cap on the number of DRC entries is retained, but it's larger
>   than the original cap, and scales with the amount of low memory in
>   the machine.
> 
> - A shrinker is still registered, but it will now only free entries
>   that are expired or are over the max number of entries.
> 
> Our QA group has been reporting on and off for the last several years
> about occasional failures in testing, especially on UDP. When we go to
> look at traces, we see a missing reply from a server on a non-idempotent
> request. The client then retransmits the request and the server tries to
> redo it instead of just sending the DRC entry.
> 
> With an instrumented kernel on the server and a synthetic reproducer, we
> found that it's quite easy to hammer the server so fast that DRC entries
> get flushed out long before a retransmit can come in.
> 
> This patchset is a first pass at fixing this. Instead of simply keeping
> a cache of the last 1024 entries, it allows nfsd to grow and shrink the
> DRC dynamically.
> 
> While most of us will probably say "so what" when it comes to UDP
> failures, it's a potential problem on connected transports as well. I'm
> also inclined to try and fix things that screw up the people that are
> helping us test our code.
> 
> I'd like to see this merged for 3.9 if possible...

These look fine, thanks.  Applying pending some testing.

--b.

> 
> Jeff Layton (8):
>   nfsd: always move DRC entries to the end of LRU list when updating
>     timestamp
>   nfsd: track the number of DRC entries in the cache
>   nfsd: dynamically allocate DRC entries
>   nfsd: remove the cache_disabled flag
>   nfsd: when updating an entry with RC_NOCACHE, just free it
>   nfsd: add recurring workqueue job to clean the cache
>   nfsd: register a shrinker for DRC cache entries
>   nfsd: keep a checksum of the first 256 bytes of request
> 
>  fs/nfsd/cache.h    |   5 +
>  fs/nfsd/nfscache.c | 271 ++++++++++++++++++++++++++++++++++++++++-------------
>  2 files changed, 209 insertions(+), 67 deletions(-)
> 
> -- 
> 1.7.11.7
> 

  parent reply	other threads:[~2013-02-04 15:56 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-04 13:17 [PATCH v2 0/8] nfsd: duplicate reply cache overhaul Jeff Layton
2013-02-04 13:18 ` [PATCH v2 1/8] nfsd: always move DRC entries to the end of LRU list when updating timestamp Jeff Layton
2013-02-04 13:18 ` [PATCH v2 2/8] nfsd: track the number of DRC entries in the cache Jeff Layton
2013-02-04 13:18 ` [PATCH v2 3/8] nfsd: dynamically allocate DRC entries Jeff Layton
2013-02-04 13:18 ` [PATCH v2 4/8] nfsd: remove the cache_disabled flag Jeff Layton
2013-02-04 13:18 ` [PATCH v2 5/8] nfsd: when updating an entry with RC_NOCACHE, just free it Jeff Layton
2013-02-04 13:18 ` [PATCH v2 6/8] nfsd: add recurring workqueue job to clean the cache Jeff Layton
2013-02-04 13:18 ` [PATCH v2 7/8] nfsd: register a shrinker for DRC cache entries Jeff Layton
2013-02-04 13:18 ` [PATCH v2 8/8] nfsd: keep a checksum of the first 256 bytes of request Jeff Layton
2013-02-04 15:54   ` J. Bruce Fields
2013-02-04 16:16     ` Jeff Layton
2013-02-04 20:20   ` J. Bruce Fields
2013-02-05 14:55     ` J. Bruce Fields
2013-02-05 15:51       ` Jeff Layton
2013-02-04 15:56 ` J. Bruce Fields [this message]
2013-02-04 18:07 ` [PATCH 9/8] nfsd: handle arbitrary page array layouts in nfsd_cache_crc Jeff Layton
2013-02-04 18:18   ` J. Bruce Fields
2013-02-05 15:15 ` [PATCH v2 0/8] nfsd: duplicate reply cache overhaul J. Bruce Fields
2013-02-05 15:58   ` Jeff Layton

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=20130204155604.GC815@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=jlayton@redhat.com \
    --cc=linux-nfs@vger.kernel.org \
    /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.