netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rick Jones <rick.jones2@hp.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: Re: small RPS cache for fragments?
Date: Tue, 24 May 2011 14:38:48 -0700	[thread overview]
Message-ID: <1306273128.8149.1444.camel@tardy> (raw)
In-Reply-To: <20110524.160123.2051949867829317339.davem@davemloft.net>

On Tue, 2011-05-24 at 16:01 -0400, David Miller wrote:
> So I looked into implementing this now that it has been established
> that we changed even Linux to emit fragments in-order.
> 
> The first problem we run into is that there is no "context" we can
> use in all the places where skb_get_rxhash() gets called.
> 
> Part of the problem is that we call it from strange places, such as
> egress packet schedulers.  That's completely bogus.
> 
> Examples, FLOW classifier, META e-match, CHOKE, and SFB.
> 
> In fact, for the classifiers this means they aren't making use of the
> precomputed TX hash values in the sockets like __skb_tx_hash() will
> make use of.  So this makes these packet schedulers operate
> potentially more expensively than they need to.
> 
> If we could get rid of those silly cases, the stuff that remains
> (macvtap and net/core/dev.c) could work with a NAPI context during
> rxhash computation and use that to store the IP fragmentation
> on-behind cached information.

Isn't there still an issue (perhaps small) of traffic being sent through
a mode-rr bond, either at the origin or somewhere along the way?  At the
origin point will depend on the presence of UFO and whether it is
propagated up through the bond interface, but as a quick test, I
disabled TSO, GSO and UFO on four e1000e driven interfaces, bonded them
mode-rr and ran a netperf UDP_RR test with a 1473 byte request size and
this is what they looked like at my un-bonded reciever at the other end:

14:31:01.011370 IP (tos 0x0, ttl 64, id 24960, offset 1480, flags
[none], proto UDP (17), length 21)
    tardy.local > raj-8510w.local: udp
14:31:01.011420 IP (tos 0x0, ttl 64, id 24960, offset 0, flags [+],
proto UDP (17), length 1500)
    tardy.local.36073 > raj-8510w.local.59951: UDP, length 1473
14:31:01.011514 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto
UDP (17), length 29)
    raj-8510w.local.59951 > tardy.local.36073: UDP, length 1

rick jones


  reply	other threads:[~2011-05-24 21:38 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-17 18:33 small RPS cache for fragments? David Miller
2011-05-17 20:02 ` Tom Herbert
2011-05-17 20:17   ` Rick Jones
2011-05-17 20:41     ` Rick Jones
2011-05-17 20:49   ` David Miller
2011-05-17 21:00     ` Eric Dumazet
2011-05-17 21:10       ` David Miller
2011-05-17 21:13         ` Rick Jones
2011-05-17 21:13         ` Ben Hutchings
2011-05-17 21:26           ` David Miller
2011-05-17 21:40             ` Rick Jones
2011-05-17 21:27           ` Eric Dumazet
2011-05-17 21:11       ` Rick Jones
2011-05-17 21:11       ` Ben Hutchings
2011-05-17 21:27     ` Tom Herbert
2011-05-17 21:28       ` David Miller
2011-05-17 23:59     ` Changli Gao
2011-05-18  6:37       ` David Miller
2011-05-17 20:14 ` Eric Dumazet
2011-05-17 20:47   ` David Miller
2011-05-17 21:44   ` Andi Kleen
2011-05-17 21:52     ` Eric Dumazet
2011-05-17 22:03       ` Andi Kleen
2011-05-17 21:44 ` David Miller
2011-05-17 21:48   ` Andi Kleen
2011-05-17 21:50     ` David Miller
2011-05-17 22:06       ` Andi Kleen
2011-05-17 22:42       ` Rick Jones
2011-05-24 20:01 ` David Miller
2011-05-24 21:38   ` Rick Jones [this message]
2011-06-04 20:29     ` David Miller
2011-06-06 17:08       ` Rick Jones
2011-06-06 17:15         ` Eric Dumazet
2011-06-06 18:06           ` Rick Jones
2011-06-06 19:23           ` David Miller
2011-06-06 19:22         ` David Miller
2011-06-06 20:05           ` Rick Jones
2011-06-06 21:06             ` Jay Vosburgh
2011-06-06 21:40               ` David Miller
2011-06-06 22:49                 ` Chris Friesen

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=1306273128.8149.1444.camel@tardy \
    --to=rick.jones2@hp.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).