mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Olga Kornievskaia <aglo@citi.umich.edu>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Jeff Moyer <jmoyer@redhat.com>,
	Jens Axboe <jens.axboe@oracle.com>,
	linux-kernel@vger.kernel.org, "Rafael J. Wysocki" <rjw@sisk.pl>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Jim Rees <rees@umich.edu>,
	linux-nfs@vger.kernel.org
Subject: Re: 2.6.30-rc deadline scheduler performance regression for iozone  over NFS
Date: Wed, 13 May 2009 14:16:42 -0400	[thread overview]
Message-ID: <b4ff356f0905131116o48181ccu4786578cc72c8ceb@mail.gmail.com> (raw)
In-Reply-To: <20090513093229.097b47d2.akpm@linux-foundation.org>

On Wed, May 13, 2009 at 12:32 PM, Andrew Morton
<akpm@linux-foundation.org> wrote:
> On Wed, 13 May 2009 12:20:57 -0400 Olga Kornievskaia <aglo@citi.umich.edu> wrote:
>
>> I believe what you are seeing is how well TCP autotuning performs.
>> What old NFS code was doing is disabling autotuning and instead using
>> #nfsd thread to scale TCP recv window. You are providing an example of
>> where setting TCP buffer sizes outperforms TCP autotuning. While this
>> is a valid example, there is also an alternative example of where old
>> NFS design hurts performance.
>
> <scratches head>
>
> Jeff's computer got slower.  Can we fix that?

We realize that decrease performance is a problem and understand that
reverting the patch might be the appropriate course of action!

But we are curious why this is happening. Jeff if it's not too much trouble
could you generate tcpdumps for both cases. We are curious what are
the max window sizes in both cases? Also could you give us your tcp and
network sysctl values for the testing environment (both client and server
values) that you can get with "sysctl -a | grep tcp" and also
" | grep net.core".


Poor performance using TCP autotuning can be demonstrated outside
of NFS but using Iperf. It can be shown that iperf will work better if "-w"
flag is used. When this flag is set, Iperf calls setsockopt() call which in
the kernel turns off autotuning.

As for fixing this it would be great if we could get some help from the
TCP kernel folks?

Another thing I should mention is that the proposed NFS patch does
reach into the TCP buffers because we need to make sure the recv buffer
is big enough to receive an RPC. To use autotuning NFS would
have to rely on the system-wide sysctl values. One way to ensure
that an RPC would fit is to then increase system-wide default TCP recv
buffer but then all connection would be using value. We thought that
instead of imposing such requirement we internally set the buffer
size big enough.

  reply	other threads:[~2009-05-13 18:16 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-23 14:01 Jeff Moyer
2009-05-08 19:01 ` Andrew Morton
2009-05-11  8:14   ` Jens Axboe
2009-05-11 13:53     ` Jeff Moyer
2009-05-11 16:58       ` Jens Axboe
2009-05-13  3:29         ` Jeff Moyer
2009-05-13  3:44           ` Andrew Morton
2009-05-13 14:58             ` Jeff Moyer
2009-05-13 16:20               ` Olga Kornievskaia
2009-05-13 16:32                 ` Andrew Morton
2009-05-13 18:16                   ` Olga Kornievskaia [this message]
2009-05-13 19:06                     ` Jeff Moyer
2009-05-13 18:25                   ` Jim Rees
2009-05-13 19:45                     ` Trond Myklebust
2009-05-13 19:29               ` Jeff Moyer
2009-05-13 23:45                 ` Trond Myklebust
2009-05-14 13:34                   ` Jeff Moyer
2009-05-14 14:33                     ` Trond Myklebust
2009-05-14 14:38                       ` Jeff Moyer
2009-05-14 15:00                       ` Jeff Moyer
2009-05-17 19:10                         ` Trond Myklebust
2009-05-17 19:12                           ` Trond Myklebust
2009-05-18 14:15                             ` Jeff Moyer
2009-05-22 23:45                               ` J. Bruce Fields
2009-05-14 17:55                   ` J. Bruce Fields
2009-05-14 18:26                     ` Trond Myklebust
2009-05-15 21:37                       ` J. Bruce Fields

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=b4ff356f0905131116o48181ccu4786578cc72c8ceb@mail.gmail.com \
    --to=aglo@citi.umich.edu \
    --cc=akpm@linux-foundation.org \
    --cc=bfields@fieldses.org \
    --cc=jens.axboe@oracle.com \
    --cc=jmoyer@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=rees@umich.edu \
    --cc=rjw@sisk.pl \
    /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®