public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ben Hutchings <bhutchings@solarflare.com>
To: Marc Aurele La France <tsi@ualberta.ca>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: RFC:  MTU for serving NFS on Infiniband
Date: Mon, 23 Aug 2010 16:12:58 +0100	[thread overview]
Message-ID: <1282576378.2267.20.camel@achroite.uk.solarflarecom.com> (raw)
In-Reply-To: <alpine.LNX.2.00.1008230842290.9325@abcyxhiz.aict.ualberta.ca>

On Mon, 2010-08-23 at 08:44 -0600, Marc Aurele La France wrote:
> My apologies for the multiple post.  I got bit the first time around by my 
> MUA's configuration.
> 
> ----
> 
> Greetings.
> 
> For some time now, the kernel and I have been having an argument over what 
> the MTU should be for serving NFS over Infiniband.  I say 65520, the 
> documented maximum for connected mode.  But, so far, I've been unable to have 
> anything over 32192 remain stable.
> 
> Back in the 2.6.14 -> .15 period, sunrpc's sk_buff allocations were changed 
> from GFP_KERNEL to GFP_ATOMIC (b079fa7baa86b47579f3f60f86d03d21c76159b8 
> mainstream commit).  Understandably, this was to prevent recursion through 
> the NFS and sunrpc code.  This is fine for the most common MTU out there, as 
> the kernel is almost certain to find a free page.  But, as one increases the 
> MTU, memory fragmentation starts to play a role in nixing these allocations.
[...]

I'm not familiar with the NFS server, but what you're saying suggests
that this code needs a more radical rethink.

Firstly, I don't see why NFS should require each packet's payload to be
contiguous.  It could use page fragments and then leave it to the
networking core to linearize the buffer if necessary for stupid
hardware.

Secondly, if it's doing its own segmentation it can't take advantage of
TSO.  This is likely to be a real drag on performance.  If it were
taking advantage of TSO then the effective MTU over TCP/IP could be
about 64K and it would already have hit this problem on Ethernet.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


      parent reply	other threads:[~2010-08-23 15:13 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-23 14:44 RFC: MTU for serving NFS on Infiniband Marc Aurele La France
2010-08-23 15:05 ` Stephen Hemminger
2010-08-24 15:14   ` Marc Aurele La France
2010-08-24 17:57     ` Ben Hutchings
2010-08-24 19:49       ` Marc Aurele La France
2010-08-24 20:09         ` Eric Dumazet
2010-08-24 20:33           ` Marc Aurele La France
2010-08-24 22:20         ` Ben Hutchings
2010-08-24 22:39           ` Stephen Hemminger
2010-08-25  5:54             ` Eric Dumazet
2010-08-25 12:10               ` Alexey Kuznetsov
2010-08-25 12:17                 ` Eric Dumazet
2010-08-26 11:40             ` Marc Aurele La France
2010-08-26 11:57               ` Eric Dumazet
2010-08-26 14:43                 ` Marc Aurele La France
2010-08-26 23:53                   ` Stephen Hemminger
2010-08-27  0:06                     ` David Miller
2010-08-27 16:20                     ` Roland Dreier
2010-08-27 17:16                       ` Roland Dreier
2010-08-27 17:53                         ` Marc Aurele La France
2010-08-26 14:58               ` Chuck Lever
2010-09-30 18:50               ` Marc Aurele La France
2010-08-23 15:12 ` Ben Hutchings [this message]

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=1282576378.2267.20.camel@achroite.uk.solarflarecom.com \
    --to=bhutchings@solarflare.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=tsi@ualberta.ca \
    /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