From: Ingo Molnar <mingo@elte.hu>
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Lee Revell <rlrevell@joe-job.com>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: NFS client latencies
Date: Wed, 30 Mar 2005 10:02:24 +0200 [thread overview]
Message-ID: <20050330080224.GB19683@elte.hu> (raw)
In-Reply-To: <1112139263.11892.0.camel@lade.trondhjem.org>
* Trond Myklebust <trond.myklebust@fys.uio.no> wrote:
> ty den 29.03.2005 Klokka 18:32 (-0500) skreiv Lee Revell:
> > On Tue, 2005-03-29 at 18:18 -0500, Trond Myklebust wrote:
> > > ty den 29.03.2005 Klokka 18:04 (-0500) skreiv Lee Revell:
> > > > I am seeing long latencies in the NFS client code. Attached is a ~1.9
> > > > ms latency trace.
> > >
> > > What kind of workload are you using to produce these numbers?
> > >
> >
> > Just a kernel compile over NFS.
>
> In other words a workload consisting mainly of mmap()ed writes?
new files created during a kernel compile are done via open()/write().
looking at the trace it seems that the NFS client code is doing list
walks over ~7000 entries (!), in nfs_list_add_request(). Whatever
protocol/server-side gain there might be due to the sorting and
coalescing, this CPU overhead seems extremely high - more than 1 msec
for this single insertion!
the comment suggests that this is optimized for append writes (which is
quite common, but by far not the only write workload) - but the
worst-case behavior of this code is very bad. How about disabling this
sorting altogether and benchmarking the result? Maybe it would get
comparable coalescing (higher levels do coalesce after all), but wastly
improved CPU utilization on the client side. (Note that the server
itself will do sorting of any write IO anyway, if this is to hit any
persistent storage - and if not then sorting so agressively on the
client side makes little sense.)
i think normal NFS benchmarks would not show this effect, as writes are
typically streamed in benchmarks. But once you have lots of outstanding
requests and a write comes out of order, CPU utilization (and latency)
skyrockets.
Ingo
next prev parent reply other threads:[~2005-03-30 8:02 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-29 23:04 Lee Revell
2005-03-29 23:18 ` Trond Myklebust
2005-03-29 23:32 ` Lee Revell
2005-03-29 23:34 ` Trond Myklebust
2005-03-29 23:37 ` Lee Revell
2005-03-30 8:02 ` Ingo Molnar [this message]
2005-03-30 14:11 ` Trond Myklebust
2005-03-30 14:20 ` Ingo Molnar
2005-03-30 19:53 ` Andrew Morton
2005-03-30 14:26 ` Lee Revell
2005-03-30 14:50 ` Trond Myklebust
2005-03-30 19:50 ` Lee Revell
2005-03-30 19:56 ` Andrew Morton
2005-03-30 21:14 ` Trond Myklebust
2005-03-31 2:26 ` Lee Revell
2005-03-31 2:39 ` Andrew Morton
2005-03-31 2:47 ` Lee Revell
2005-03-31 3:48 ` Trond Myklebust
2005-03-31 6:59 ` Ingo Molnar
2005-03-31 7:15 ` Ingo Molnar
2005-03-31 7:18 ` Andrew Morton
2005-03-31 7:30 ` Ingo Molnar
2005-03-31 11:58 ` Trond Myklebust
2005-03-31 12:34 ` Trond Myklebust
2005-03-31 13:58 ` Ingo Molnar
2005-03-31 14:32 ` Trond Myklebust
2005-03-31 14:39 ` Ingo Molnar
2005-03-31 14:50 ` Ingo Molnar
2005-04-01 2:28 ` Lee Revell
2005-04-01 4:30 ` Ingo Molnar
2005-04-01 16:16 ` Orion Poplawski
2005-04-01 16:33 ` Trond Myklebust
2005-04-01 21:18 ` Lee Revell
2005-03-31 14:54 ` Ingo Molnar
2005-03-31 15:00 ` Trond Myklebust
2005-03-31 14:54 ` Trond Myklebust
2005-03-31 14:58 ` Ingo Molnar
2005-03-31 15:06 ` Trond Myklebust
2005-03-31 15:10 ` Ingo Molnar
2005-03-31 16:00 ` Trond Myklebust
2005-03-31 15:10 ` Ingo Molnar
2005-03-31 7:03 ` Ingo Molnar
2005-03-31 7:39 ` Ingo Molnar
2005-03-31 7:48 ` Ingo Molnar
2005-03-31 7:58 ` Ingo Molnar
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=20050330080224.GB19683@elte.hu \
--to=mingo@elte.hu \
--cc=linux-kernel@vger.kernel.org \
--cc=rlrevell@joe-job.com \
--cc=trond.myklebust@fys.uio.no \
/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
all inboxes | Powered by JetHome®