From: Peter Staubach <staubach@redhat.com>
To: Lee Revell <rlrevell@joe-job.com>
Cc: steve <lingxiang@huawei.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"zhangtiger@huawei.com" <zhangtiger@huawei.com>
Subject: Re: why nfs server delay 10ms in nfsd_write()?
Date: Thu, 19 May 2005 10:10:42 -0400 [thread overview]
Message-ID: <428C9E62.2090205@redhat.com> (raw)
In-Reply-To: <1116511140.21587.4.camel@mindpipe>
Lee Revell wrote:
>On Thu, 2005-05-19 at 08:53 -0400, Peter Staubach wrote:
>
>
>>There are certainly many others way to get gathering, without adding an
>>artificial delay. There are already delay slots built into the code
>>which could
>>be used to trigger the gathering, so with a little bit different
>>architecture, the
>>performance increases could be achieved.
>>
>>Some implementations actually do write gathering with NFSv3, even. Is
>>this interesting enough to play with? I suspect that just doing the
>>work for
>>NFSv2 is not...
>>
>>
>
>Also, how do you explain the big performance hit that steve observed?
>Write gathering is supposed to help performance, but it's a big loss on
>his test...
>
Well, a little bit more information about what he is doing would be
helpful. I'd
like to better understand the environment and what the traffic from the
client
looks like.
Write gathering is not a panacea for all of the ills caused by the NFSv2
WRITE
stable storage requirements. In fact, if done wrong, it can cause
performance
regressions, such as those being noticed by Steve.
--
I implemented the write gathering used in Solaris and experimented with
several (many?) different approachs. Adding a delay in order to allow
subsequent WRITE requests to arrive seems like a good thing, but can
end up just adding latency to the entire process if not done right.
A suggestion might be to use the delay caused by the nfsd_sync() call
and synchronize other WRITE requests around that. The delay caused by
doing real i/o to the storage subsystem should allow write gathering to
take place, assuming that the client is generating concurrent WRITE
requests.
ps
next prev parent reply other threads:[~2005-05-19 14:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-19 2:46 why nfs server delay 10ms in nfsd_write()? steve
2005-05-19 3:08 ` Trond Myklebust
2005-05-19 3:13 ` Lee Revell
2005-05-19 12:53 ` Peter Staubach
2005-05-19 13:26 ` Trond Myklebust
2005-05-19 13:41 ` Peter Staubach
2005-05-19 13:59 ` Lee Revell
2005-05-19 14:10 ` Peter Staubach [this message]
2005-05-19 14:13 ` Avi Kivity
-- strict thread matches above, loose matches on Subject: below --
2005-05-20 10:44 steve
2005-05-20 13:05 ` Peter Staubach
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=428C9E62.2090205@redhat.com \
--to=staubach@redhat.com \
--cc=lingxiang@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rlrevell@joe-job.com \
--cc=zhangtiger@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox