From: "J. Bruce Fields" <bfields@fieldses.org>
To: NeilBrown <neilb@suse.de>
Cc: peter.staubach@emc.com, Trond.Myklebust@netapp.com,
bjschuma@netapp.com, linux-nfs@vger.kernel.org
Subject: Re: Use of READDIRPLUS on large directories
Date: Thu, 17 Mar 2011 13:44:53 -0400 [thread overview]
Message-ID: <20110317174453.GC30180@fieldses.org> (raw)
In-Reply-To: <20110317115522.29020461@notabene.brown>
On Thu, Mar 17, 2011 at 11:55:22AM +1100, NeilBrown wrote:
> Strangely, when I try NFSv4 I don't get what I would expect.
>
> "ls" on an unpatched 2.6.38 takes over 5 seconds rather than around 4.
> With the patch it does back down to about 2. (still NFSv3 at 1.5).
> Why would NFSv4 be slower?
> On v3 we make 44 READDIRPLUS calls and 284 READDIR calls - total of 328
> READDIRPLUS have about 30 names, READDIR have about 100
> On v4 we make 633 READDIR calls - nearly double.
> Early packed contain about 19 name, later ones about 70
>
> Is nfsd (2.6.32) just not packing enough answers in the reply?
> Client asks for a dircount of 16384 and a maxcount of 32768, and gets
> packets which are about 4K long - I guess that is PAGE_SIZE ??
>From nfsd4_encode_readdir():
maxcount = PAGE_SIZE;
if (maxcount > readdir->rd_maxcount)
maxcount = readdir->rd_maxcount;
Unfortunately, I don't think the xdr encoding is equipped to deal with
page boundaries. It should be.
--b.
next prev parent reply other threads:[~2011-03-17 17:44 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-16 4:55 Use of READDIRPLUS on large directories NeilBrown
2011-03-16 12:30 ` peter.staubach
2011-03-16 13:50 ` Trond Myklebust
2011-03-16 21:40 ` NeilBrown
2011-03-17 0:55 ` NeilBrown
2011-03-17 17:44 ` J. Bruce Fields [this message]
2011-03-18 4:27 ` NeilBrown
2011-03-16 13:43 ` Chuck Lever
2011-03-16 14:14 ` Bryan Schumaker
2011-03-16 14:20 ` Trond Myklebust
2011-03-16 21:30 ` NeilBrown
2011-03-16 21:42 ` Trond Myklebust
2011-03-16 22:40 ` NeilBrown
2011-03-17 17:18 ` J. Bruce Fields
2011-04-04 20:14 ` Bryan Schumaker
2011-04-05 12:20 ` NeilBrown
2011-04-07 14:28 ` Bryan Schumaker
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=20110317174453.GC30180@fieldses.org \
--to=bfields@fieldses.org \
--cc=Trond.Myklebust@netapp.com \
--cc=bjschuma@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=peter.staubach@emc.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.