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
next 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).