linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@redhat.com>
To: bfields@fieldses.org
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH 0/6] nfsd: duplicate reply cache improvements for 3.10
Date: Tue, 19 Mar 2013 09:11:40 -0400	[thread overview]
Message-ID: <1363698706-22036-1-git-send-email-jlayton@redhat.com> (raw)

This patchset replaces the last one I sent that starts with:

    [PATCH v2 0/5] nfsd: add a reply_cache_stats file to nfsd for tracking DRC performance

I've done quite a bit of testing over the last month or so (with much
help from the RH QA folks), and the changes here are largely due to the
results of that testing.

The main changes are:

1/ I've dropped the patch to track the max and average time to search the
   cache. What I found was that occasionally the search gets preempted
   to service an IRQ or bottom half handler, and that would blow the
   stats out of the water. Since they aren't reliably indicative, it's
   probably best not to track that for now.

   In some of the testing I did, I left this in place and disabled IRQs
   during the search. That's not a suitable change for upstream but it
   did help prove the efficacy of some of the later changes.

2/ I've added a patch to scale out the number of hash buckets with the
   max size of the cache. This seems to greatly improve performance by
   simply keeping the hash chain lengths low. I saw about 5-6 fold
   decrease in the average search time with this change. The downside
   of course is that we have to allocate that many more buckets up
   front, but I don't think that's entirely unreasonable.

These patches represent the DRC-related changes that I'd like to see
merged in 3.10, possibly sooner if we get any reports of performance
regressions in the DRC due to the changes that went into 3.9.

Jeff Layton (6):
  nfsd: eliminate one of the DRC cache searches
  nfsd: break out comparator into separate function
  nfsd: track memory utilization by the DRC
  nfsd: add new reply_cache_stats file in nfsdfs
  nfsd: keep stats on worst hash balancing seen so far
  nfsd: scale up the number of DRC hash buckets with cache size

 fs/nfsd/cache.h    |   1 +
 fs/nfsd/nfscache.c | 195 +++++++++++++++++++++++++++++++++++++++--------------
 fs/nfsd/nfsctl.c   |   9 +++
 3 files changed, 155 insertions(+), 50 deletions(-)

-- 
1.7.11.7


             reply	other threads:[~2013-03-19 13:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-19 13:11 Jeff Layton [this message]
2013-03-19 13:11 ` [PATCH 1/6] nfsd: eliminate one of the DRC cache searches Jeff Layton
2013-03-19 13:11 ` [PATCH 2/6] nfsd: break out comparator into separate function Jeff Layton
2013-03-19 13:11 ` [PATCH 3/6] nfsd: track memory utilization by the DRC Jeff Layton
2013-03-19 13:11 ` [PATCH 4/6] nfsd: add new reply_cache_stats file in nfsdfs Jeff Layton
2013-03-19 13:11 ` [PATCH 5/6] nfsd: keep stats on worst hash balancing seen so far Jeff Layton
2013-03-19 13:11 ` [PATCH 6/6] nfsd: scale up the number of DRC hash buckets with cache size 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=1363698706-22036-1-git-send-email-jlayton@redhat.com \
    --to=jlayton@redhat.com \
    --cc=bfields@fieldses.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).